Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@gmail.com>2020-11-11 20:07:37 +0300
committerGitHub <noreply@github.com>2020-11-11 20:07:37 +0300
commit384eccbfaf3f234944f8d60ac70dd7966814c994 (patch)
tree6c05c77c6e4dda8915c0ae701e6e3361dbd41559 /dist
parent7ad8967367dcd6ebccb9569096ebec0f627e35ac (diff)
Prepare v5.0.0-alpha3 (#32122)v5.0.0-alpha3
Diffstat (limited to 'dist')
-rw-r--r--dist/css/bootstrap-grid.css1339
-rw-r--r--dist/css/bootstrap-grid.css.map2
-rw-r--r--dist/css/bootstrap-grid.min.css4
-rw-r--r--dist/css/bootstrap-grid.min.css.map2
-rw-r--r--dist/css/bootstrap-reboot.css53
-rw-r--r--dist/css/bootstrap-reboot.css.map2
-rw-r--r--dist/css/bootstrap-reboot.min.css4
-rw-r--r--dist/css/bootstrap-reboot.min.css.map2
-rw-r--r--dist/css/bootstrap-utilities.css973
-rw-r--r--dist/css/bootstrap-utilities.css.map2
-rw-r--r--dist/css/bootstrap-utilities.min.css4
-rw-r--r--dist/css/bootstrap-utilities.min.css.map2
-rw-r--r--dist/css/bootstrap.css2831
-rw-r--r--dist/css/bootstrap.css.map2
-rw-r--r--dist/css/bootstrap.min.css6
-rw-r--r--dist/css/bootstrap.min.css.map2
-rw-r--r--dist/js/bootstrap.bundle.js476
-rw-r--r--dist/js/bootstrap.bundle.js.map2
-rw-r--r--dist/js/bootstrap.bundle.min.js4
-rw-r--r--dist/js/bootstrap.bundle.min.js.map2
-rw-r--r--dist/js/bootstrap.esm.js462
-rw-r--r--dist/js/bootstrap.esm.js.map2
-rw-r--r--dist/js/bootstrap.esm.min.js4
-rw-r--r--dist/js/bootstrap.esm.min.js.map2
-rw-r--r--dist/js/bootstrap.js464
-rw-r--r--dist/js/bootstrap.js.map2
-rw-r--r--dist/js/bootstrap.min.js4
-rw-r--r--dist/js/bootstrap.min.js.map2
28 files changed, 4504 insertions, 2152 deletions
diff --git a/dist/css/bootstrap-grid.css b/dist/css/bootstrap-grid.css
index 28542dfc97..9c5de63f5f 100644
--- a/dist/css/bootstrap-grid.css
+++ b/dist/css/bootstrap-grid.css
@@ -1,16 +1,16 @@
/*!
- * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap Grid v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
.container,
.container-fluid,
-.container-sm,
-.container-md,
-.container-lg,
+.container-xxl,
.container-xl,
-.container-xxl {
+.container-lg,
+.container-md,
+.container-sm {
--bs-gutter-x: 1.5rem;
width: 100%;
padding-right: calc(var(--bs-gutter-x) / 2);
@@ -20,35 +20,30 @@
}
@media (min-width: 576px) {
- .container, .container-sm {
+ .container-sm, .container {
max-width: 540px;
}
}
-
@media (min-width: 768px) {
- .container, .container-sm, .container-md {
+ .container-md, .container-sm, .container {
max-width: 720px;
}
}
-
@media (min-width: 992px) {
- .container, .container-sm, .container-md, .container-lg {
+ .container-lg, .container-md, .container-sm, .container {
max-width: 960px;
}
}
-
@media (min-width: 1200px) {
- .container, .container-sm, .container-md, .container-lg, .container-xl {
+ .container-xl, .container-lg, .container-md, .container-sm, .container {
max-width: 1140px;
}
}
-
@media (min-width: 1400px) {
- .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
+ .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
max-width: 1320px;
}
}
-
.row {
--bs-gutter-x: 1.5rem;
--bs-gutter-y: 0;
@@ -58,7 +53,6 @@
margin-right: calc(var(--bs-gutter-x) / -2);
margin-left: calc(var(--bs-gutter-x) / -2);
}
-
.row > * {
box-sizing: border-box;
flex-shrink: 0;
@@ -90,7 +84,7 @@
.row-cols-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
.row-cols-4 > * {
@@ -105,7 +99,7 @@
.row-cols-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
.col-auto {
@@ -115,12 +109,12 @@
.col-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
.col-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
.col-3 {
@@ -130,12 +124,12 @@
.col-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
.col-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
.col-6 {
@@ -145,12 +139,12 @@
.col-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
.col-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
.col-9 {
@@ -160,12 +154,12 @@
.col-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
.col-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
.col-12 {
@@ -174,11 +168,11 @@
}
.offset-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
.offset-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
.offset-3 {
@@ -186,11 +180,11 @@
}
.offset-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
.offset-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
.offset-6 {
@@ -198,11 +192,11 @@
}
.offset-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
.offset-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
.offset-9 {
@@ -210,11 +204,11 @@
}
.offset-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
.offset-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
.g-0,
@@ -281,852 +275,1067 @@
.col-sm {
flex: 1 0 0%;
}
+
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-sm-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-sm-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-sm-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-sm-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-sm-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-sm-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-sm-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-sm-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-sm-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-sm-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-sm-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-sm-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-sm-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-sm-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-sm-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-sm-0 {
margin-left: 0;
}
+
.offset-sm-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-sm-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-sm-3 {
margin-left: 25%;
}
+
.offset-sm-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-sm-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-sm-6 {
margin-left: 50%;
}
+
.offset-sm-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-sm-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-sm-9 {
margin-left: 75%;
}
+
.offset-sm-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-sm-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-sm-0,
- .gx-sm-0 {
+.gx-sm-0 {
--bs-gutter-x: 0;
}
+
.g-sm-0,
- .gy-sm-0 {
+.gy-sm-0 {
--bs-gutter-y: 0;
}
+
.g-sm-1,
- .gx-sm-1 {
+.gx-sm-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-sm-1,
- .gy-sm-1 {
+.gy-sm-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-sm-2,
- .gx-sm-2 {
+.gx-sm-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-sm-2,
- .gy-sm-2 {
+.gy-sm-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-sm-3,
- .gx-sm-3 {
+.gx-sm-3 {
--bs-gutter-x: 1rem;
}
+
.g-sm-3,
- .gy-sm-3 {
+.gy-sm-3 {
--bs-gutter-y: 1rem;
}
+
.g-sm-4,
- .gx-sm-4 {
+.gx-sm-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-sm-4,
- .gy-sm-4 {
+.gy-sm-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-sm-5,
- .gx-sm-5 {
+.gx-sm-5 {
--bs-gutter-x: 3rem;
}
+
.g-sm-5,
- .gy-sm-5 {
+.gy-sm-5 {
--bs-gutter-y: 3rem;
}
}
-
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
+
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-md-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-md-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-md-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-md-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-md-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-md-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-md-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-md-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-md-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-md-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-md-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-md-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-md-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-md-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-md-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-md-0 {
margin-left: 0;
}
+
.offset-md-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-md-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-md-3 {
margin-left: 25%;
}
+
.offset-md-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-md-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-md-6 {
margin-left: 50%;
}
+
.offset-md-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-md-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-md-9 {
margin-left: 75%;
}
+
.offset-md-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-md-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-md-0,
- .gx-md-0 {
+.gx-md-0 {
--bs-gutter-x: 0;
}
+
.g-md-0,
- .gy-md-0 {
+.gy-md-0 {
--bs-gutter-y: 0;
}
+
.g-md-1,
- .gx-md-1 {
+.gx-md-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-md-1,
- .gy-md-1 {
+.gy-md-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-md-2,
- .gx-md-2 {
+.gx-md-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-md-2,
- .gy-md-2 {
+.gy-md-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-md-3,
- .gx-md-3 {
+.gx-md-3 {
--bs-gutter-x: 1rem;
}
+
.g-md-3,
- .gy-md-3 {
+.gy-md-3 {
--bs-gutter-y: 1rem;
}
+
.g-md-4,
- .gx-md-4 {
+.gx-md-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-md-4,
- .gy-md-4 {
+.gy-md-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-md-5,
- .gx-md-5 {
+.gx-md-5 {
--bs-gutter-x: 3rem;
}
+
.g-md-5,
- .gy-md-5 {
+.gy-md-5 {
--bs-gutter-y: 3rem;
}
}
-
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
+
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-lg-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-lg-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-lg-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-lg-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-lg-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-lg-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-lg-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-lg-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-lg-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-lg-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-lg-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-lg-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-lg-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-lg-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-lg-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-lg-0 {
margin-left: 0;
}
+
.offset-lg-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-lg-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-lg-3 {
margin-left: 25%;
}
+
.offset-lg-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-lg-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-lg-6 {
margin-left: 50%;
}
+
.offset-lg-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-lg-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-lg-9 {
margin-left: 75%;
}
+
.offset-lg-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-lg-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-lg-0,
- .gx-lg-0 {
+.gx-lg-0 {
--bs-gutter-x: 0;
}
+
.g-lg-0,
- .gy-lg-0 {
+.gy-lg-0 {
--bs-gutter-y: 0;
}
+
.g-lg-1,
- .gx-lg-1 {
+.gx-lg-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-lg-1,
- .gy-lg-1 {
+.gy-lg-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-lg-2,
- .gx-lg-2 {
+.gx-lg-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-lg-2,
- .gy-lg-2 {
+.gy-lg-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-lg-3,
- .gx-lg-3 {
+.gx-lg-3 {
--bs-gutter-x: 1rem;
}
+
.g-lg-3,
- .gy-lg-3 {
+.gy-lg-3 {
--bs-gutter-y: 1rem;
}
+
.g-lg-4,
- .gx-lg-4 {
+.gx-lg-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-lg-4,
- .gy-lg-4 {
+.gy-lg-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-lg-5,
- .gx-lg-5 {
+.gx-lg-5 {
--bs-gutter-x: 3rem;
}
+
.g-lg-5,
- .gy-lg-5 {
+.gy-lg-5 {
--bs-gutter-y: 3rem;
}
}
-
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
+
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-xl-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-xl-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-xl-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-xl-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-xl-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-xl-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-xl-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-xl-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-xl-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-xl-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-xl-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-xl-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-xl-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-xl-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-xl-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-xl-0 {
margin-left: 0;
}
+
.offset-xl-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-xl-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-xl-3 {
margin-left: 25%;
}
+
.offset-xl-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-xl-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-xl-6 {
margin-left: 50%;
}
+
.offset-xl-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-xl-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-xl-9 {
margin-left: 75%;
}
+
.offset-xl-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-xl-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-xl-0,
- .gx-xl-0 {
+.gx-xl-0 {
--bs-gutter-x: 0;
}
+
.g-xl-0,
- .gy-xl-0 {
+.gy-xl-0 {
--bs-gutter-y: 0;
}
+
.g-xl-1,
- .gx-xl-1 {
+.gx-xl-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-xl-1,
- .gy-xl-1 {
+.gy-xl-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-xl-2,
- .gx-xl-2 {
+.gx-xl-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-xl-2,
- .gy-xl-2 {
+.gy-xl-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-xl-3,
- .gx-xl-3 {
+.gx-xl-3 {
--bs-gutter-x: 1rem;
}
+
.g-xl-3,
- .gy-xl-3 {
+.gy-xl-3 {
--bs-gutter-y: 1rem;
}
+
.g-xl-4,
- .gx-xl-4 {
+.gx-xl-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-xl-4,
- .gy-xl-4 {
+.gy-xl-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-xl-5,
- .gx-xl-5 {
+.gx-xl-5 {
--bs-gutter-x: 3rem;
}
+
.g-xl-5,
- .gy-xl-5 {
+.gy-xl-5 {
--bs-gutter-y: 3rem;
}
}
-
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
+
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-xxl-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-xxl-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-xxl-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-xxl-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-xxl-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-xxl-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-xxl-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-xxl-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-xxl-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-xxl-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-xxl-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-xxl-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-xxl-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-xxl-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-xxl-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-xxl-0 {
margin-left: 0;
}
+
.offset-xxl-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-xxl-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-xxl-3 {
margin-left: 25%;
}
+
.offset-xxl-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-xxl-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-xxl-6 {
margin-left: 50%;
}
+
.offset-xxl-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-xxl-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-xxl-9 {
margin-left: 75%;
}
+
.offset-xxl-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-xxl-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-xxl-0,
- .gx-xxl-0 {
+.gx-xxl-0 {
--bs-gutter-x: 0;
}
+
.g-xxl-0,
- .gy-xxl-0 {
+.gy-xxl-0 {
--bs-gutter-y: 0;
}
+
.g-xxl-1,
- .gx-xxl-1 {
+.gx-xxl-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-xxl-1,
- .gy-xxl-1 {
+.gy-xxl-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-xxl-2,
- .gx-xxl-2 {
+.gx-xxl-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-xxl-2,
- .gy-xxl-2 {
+.gy-xxl-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-xxl-3,
- .gx-xxl-3 {
+.gx-xxl-3 {
--bs-gutter-x: 1rem;
}
+
.g-xxl-3,
- .gy-xxl-3 {
+.gy-xxl-3 {
--bs-gutter-y: 1rem;
}
+
.g-xxl-4,
- .gx-xxl-4 {
+.gx-xxl-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-xxl-4,
- .gy-xxl-4 {
+.gy-xxl-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-xxl-5,
- .gx-xxl-5 {
+.gx-xxl-5 {
--bs-gutter-x: 3rem;
}
+
.g-xxl-5,
- .gy-xxl-5 {
+.gy-xxl-5 {
--bs-gutter-y: 3rem;
}
}
-
.d-inline {
display: inline !important;
}
@@ -1139,6 +1348,10 @@
display: block !important;
}
+.d-grid {
+ display: grid !important;
+}
+
.d-table {
display: table !important;
}
@@ -1729,2319 +1942,3057 @@
.d-sm-inline {
display: inline !important;
}
+
.d-sm-inline-block {
display: inline-block !important;
}
+
.d-sm-block {
display: block !important;
}
+
+ .d-sm-grid {
+ display: grid !important;
+ }
+
.d-sm-table {
display: table !important;
}
+
.d-sm-table-row {
display: table-row !important;
}
+
.d-sm-table-cell {
display: table-cell !important;
}
+
.d-sm-flex {
display: flex !important;
}
+
.d-sm-inline-flex {
display: inline-flex !important;
}
+
.d-sm-none {
display: none !important;
}
+
.flex-sm-fill {
flex: 1 1 auto !important;
}
+
.flex-sm-row {
flex-direction: row !important;
}
+
.flex-sm-column {
flex-direction: column !important;
}
+
.flex-sm-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-sm-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-sm-grow-0 {
flex-grow: 0 !important;
}
+
.flex-sm-grow-1 {
flex-grow: 1 !important;
}
+
.flex-sm-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-sm-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-sm-wrap {
flex-wrap: wrap !important;
}
+
.flex-sm-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-sm-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
.justify-content-sm-start {
justify-content: flex-start !important;
}
+
.justify-content-sm-end {
justify-content: flex-end !important;
}
+
.justify-content-sm-center {
justify-content: center !important;
}
+
.justify-content-sm-between {
justify-content: space-between !important;
}
+
.justify-content-sm-around {
justify-content: space-around !important;
}
+
.justify-content-sm-evenly {
justify-content: space-evenly !important;
}
+
.align-items-sm-start {
align-items: flex-start !important;
}
+
.align-items-sm-end {
align-items: flex-end !important;
}
+
.align-items-sm-center {
align-items: center !important;
}
+
.align-items-sm-baseline {
align-items: baseline !important;
}
+
.align-items-sm-stretch {
align-items: stretch !important;
}
+
.align-content-sm-start {
align-content: flex-start !important;
}
+
.align-content-sm-end {
align-content: flex-end !important;
}
+
.align-content-sm-center {
align-content: center !important;
}
+
.align-content-sm-between {
align-content: space-between !important;
}
+
.align-content-sm-around {
align-content: space-around !important;
}
+
.align-content-sm-stretch {
align-content: stretch !important;
}
+
.align-self-sm-auto {
align-self: auto !important;
}
+
.align-self-sm-start {
align-self: flex-start !important;
}
+
.align-self-sm-end {
align-self: flex-end !important;
}
+
.align-self-sm-center {
align-self: center !important;
}
+
.align-self-sm-baseline {
align-self: baseline !important;
}
+
.align-self-sm-stretch {
align-self: stretch !important;
}
+
.order-sm-first {
order: -1 !important;
}
+
.order-sm-0 {
order: 0 !important;
}
+
.order-sm-1 {
order: 1 !important;
}
+
.order-sm-2 {
order: 2 !important;
}
+
.order-sm-3 {
order: 3 !important;
}
+
.order-sm-4 {
order: 4 !important;
}
+
.order-sm-5 {
order: 5 !important;
}
+
.order-sm-last {
order: 6 !important;
}
+
.m-sm-0 {
margin: 0 !important;
}
+
.m-sm-1 {
margin: 0.25rem !important;
}
+
.m-sm-2 {
margin: 0.5rem !important;
}
+
.m-sm-3 {
margin: 1rem !important;
}
+
.m-sm-4 {
margin: 1.5rem !important;
}
+
.m-sm-5 {
margin: 3rem !important;
}
+
.m-sm-auto {
margin: auto !important;
}
+
.mx-sm-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-sm-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-sm-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-sm-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-sm-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-sm-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-sm-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-sm-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-sm-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-sm-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-sm-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-sm-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-sm-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-sm-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-sm-0 {
margin-top: 0 !important;
}
+
.mt-sm-1 {
margin-top: 0.25rem !important;
}
+
.mt-sm-2 {
margin-top: 0.5rem !important;
}
+
.mt-sm-3 {
margin-top: 1rem !important;
}
+
.mt-sm-4 {
margin-top: 1.5rem !important;
}
+
.mt-sm-5 {
margin-top: 3rem !important;
}
+
.mt-sm-auto {
margin-top: auto !important;
}
+
.mr-sm-0 {
margin-right: 0 !important;
}
+
.mr-sm-1 {
margin-right: 0.25rem !important;
}
+
.mr-sm-2 {
margin-right: 0.5rem !important;
}
+
.mr-sm-3 {
margin-right: 1rem !important;
}
+
.mr-sm-4 {
margin-right: 1.5rem !important;
}
+
.mr-sm-5 {
margin-right: 3rem !important;
}
+
.mr-sm-auto {
margin-right: auto !important;
}
+
.mb-sm-0 {
margin-bottom: 0 !important;
}
+
.mb-sm-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-sm-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-sm-3 {
margin-bottom: 1rem !important;
}
+
.mb-sm-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-sm-5 {
margin-bottom: 3rem !important;
}
+
.mb-sm-auto {
margin-bottom: auto !important;
}
+
.ml-sm-0 {
margin-left: 0 !important;
}
+
.ml-sm-1 {
margin-left: 0.25rem !important;
}
+
.ml-sm-2 {
margin-left: 0.5rem !important;
}
+
.ml-sm-3 {
margin-left: 1rem !important;
}
+
.ml-sm-4 {
margin-left: 1.5rem !important;
}
+
.ml-sm-5 {
margin-left: 3rem !important;
}
+
.ml-sm-auto {
margin-left: auto !important;
}
+
.p-sm-0 {
padding: 0 !important;
}
+
.p-sm-1 {
padding: 0.25rem !important;
}
+
.p-sm-2 {
padding: 0.5rem !important;
}
+
.p-sm-3 {
padding: 1rem !important;
}
+
.p-sm-4 {
padding: 1.5rem !important;
}
+
.p-sm-5 {
padding: 3rem !important;
}
+
.px-sm-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-sm-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-sm-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-sm-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-sm-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-sm-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-sm-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-sm-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-sm-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-sm-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-sm-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-sm-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-sm-0 {
padding-top: 0 !important;
}
+
.pt-sm-1 {
padding-top: 0.25rem !important;
}
+
.pt-sm-2 {
padding-top: 0.5rem !important;
}
+
.pt-sm-3 {
padding-top: 1rem !important;
}
+
.pt-sm-4 {
padding-top: 1.5rem !important;
}
+
.pt-sm-5 {
padding-top: 3rem !important;
}
+
.pr-sm-0 {
padding-right: 0 !important;
}
+
.pr-sm-1 {
padding-right: 0.25rem !important;
}
+
.pr-sm-2 {
padding-right: 0.5rem !important;
}
+
.pr-sm-3 {
padding-right: 1rem !important;
}
+
.pr-sm-4 {
padding-right: 1.5rem !important;
}
+
.pr-sm-5 {
padding-right: 3rem !important;
}
+
.pb-sm-0 {
padding-bottom: 0 !important;
}
+
.pb-sm-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-sm-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-sm-3 {
padding-bottom: 1rem !important;
}
+
.pb-sm-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-sm-5 {
padding-bottom: 3rem !important;
}
+
.pl-sm-0 {
padding-left: 0 !important;
}
+
.pl-sm-1 {
padding-left: 0.25rem !important;
}
+
.pl-sm-2 {
padding-left: 0.5rem !important;
}
+
.pl-sm-3 {
padding-left: 1rem !important;
}
+
.pl-sm-4 {
padding-left: 1.5rem !important;
}
+
.pl-sm-5 {
padding-left: 3rem !important;
}
}
-
@media (min-width: 768px) {
.d-md-inline {
display: inline !important;
}
+
.d-md-inline-block {
display: inline-block !important;
}
+
.d-md-block {
display: block !important;
}
+
+ .d-md-grid {
+ display: grid !important;
+ }
+
.d-md-table {
display: table !important;
}
+
.d-md-table-row {
display: table-row !important;
}
+
.d-md-table-cell {
display: table-cell !important;
}
+
.d-md-flex {
display: flex !important;
}
+
.d-md-inline-flex {
display: inline-flex !important;
}
+
.d-md-none {
display: none !important;
}
+
.flex-md-fill {
flex: 1 1 auto !important;
}
+
.flex-md-row {
flex-direction: row !important;
}
+
.flex-md-column {
flex-direction: column !important;
}
+
.flex-md-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-md-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-md-grow-0 {
flex-grow: 0 !important;
}
+
.flex-md-grow-1 {
flex-grow: 1 !important;
}
+
.flex-md-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-md-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-md-wrap {
flex-wrap: wrap !important;
}
+
.flex-md-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-md-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
.justify-content-md-start {
justify-content: flex-start !important;
}
+
.justify-content-md-end {
justify-content: flex-end !important;
}
+
.justify-content-md-center {
justify-content: center !important;
}
+
.justify-content-md-between {
justify-content: space-between !important;
}
+
.justify-content-md-around {
justify-content: space-around !important;
}
+
.justify-content-md-evenly {
justify-content: space-evenly !important;
}
+
.align-items-md-start {
align-items: flex-start !important;
}
+
.align-items-md-end {
align-items: flex-end !important;
}
+
.align-items-md-center {
align-items: center !important;
}
+
.align-items-md-baseline {
align-items: baseline !important;
}
+
.align-items-md-stretch {
align-items: stretch !important;
}
+
.align-content-md-start {
align-content: flex-start !important;
}
+
.align-content-md-end {
align-content: flex-end !important;
}
+
.align-content-md-center {
align-content: center !important;
}
+
.align-content-md-between {
align-content: space-between !important;
}
+
.align-content-md-around {
align-content: space-around !important;
}
+
.align-content-md-stretch {
align-content: stretch !important;
}
+
.align-self-md-auto {
align-self: auto !important;
}
+
.align-self-md-start {
align-self: flex-start !important;
}
+
.align-self-md-end {
align-self: flex-end !important;
}
+
.align-self-md-center {
align-self: center !important;
}
+
.align-self-md-baseline {
align-self: baseline !important;
}
+
.align-self-md-stretch {
align-self: stretch !important;
}
+
.order-md-first {
order: -1 !important;
}
+
.order-md-0 {
order: 0 !important;
}
+
.order-md-1 {
order: 1 !important;
}
+
.order-md-2 {
order: 2 !important;
}
+
.order-md-3 {
order: 3 !important;
}
+
.order-md-4 {
order: 4 !important;
}
+
.order-md-5 {
order: 5 !important;
}
+
.order-md-last {
order: 6 !important;
}
+
.m-md-0 {
margin: 0 !important;
}
+
.m-md-1 {
margin: 0.25rem !important;
}
+
.m-md-2 {
margin: 0.5rem !important;
}
+
.m-md-3 {
margin: 1rem !important;
}
+
.m-md-4 {
margin: 1.5rem !important;
}
+
.m-md-5 {
margin: 3rem !important;
}
+
.m-md-auto {
margin: auto !important;
}
+
.mx-md-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-md-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-md-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-md-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-md-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-md-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-md-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-md-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-md-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-md-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-md-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-md-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-md-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-md-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-md-0 {
margin-top: 0 !important;
}
+
.mt-md-1 {
margin-top: 0.25rem !important;
}
+
.mt-md-2 {
margin-top: 0.5rem !important;
}
+
.mt-md-3 {
margin-top: 1rem !important;
}
+
.mt-md-4 {
margin-top: 1.5rem !important;
}
+
.mt-md-5 {
margin-top: 3rem !important;
}
+
.mt-md-auto {
margin-top: auto !important;
}
+
.mr-md-0 {
margin-right: 0 !important;
}
+
.mr-md-1 {
margin-right: 0.25rem !important;
}
+
.mr-md-2 {
margin-right: 0.5rem !important;
}
+
.mr-md-3 {
margin-right: 1rem !important;
}
+
.mr-md-4 {
margin-right: 1.5rem !important;
}
+
.mr-md-5 {
margin-right: 3rem !important;
}
+
.mr-md-auto {
margin-right: auto !important;
}
+
.mb-md-0 {
margin-bottom: 0 !important;
}
+
.mb-md-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-md-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-md-3 {
margin-bottom: 1rem !important;
}
+
.mb-md-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-md-5 {
margin-bottom: 3rem !important;
}
+
.mb-md-auto {
margin-bottom: auto !important;
}
+
.ml-md-0 {
margin-left: 0 !important;
}
+
.ml-md-1 {
margin-left: 0.25rem !important;
}
+
.ml-md-2 {
margin-left: 0.5rem !important;
}
+
.ml-md-3 {
margin-left: 1rem !important;
}
+
.ml-md-4 {
margin-left: 1.5rem !important;
}
+
.ml-md-5 {
margin-left: 3rem !important;
}
+
.ml-md-auto {
margin-left: auto !important;
}
+
.p-md-0 {
padding: 0 !important;
}
+
.p-md-1 {
padding: 0.25rem !important;
}
+
.p-md-2 {
padding: 0.5rem !important;
}
+
.p-md-3 {
padding: 1rem !important;
}
+
.p-md-4 {
padding: 1.5rem !important;
}
+
.p-md-5 {
padding: 3rem !important;
}
+
.px-md-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-md-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-md-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-md-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-md-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-md-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-md-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-md-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-md-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-md-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-md-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-md-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-md-0 {
padding-top: 0 !important;
}
+
.pt-md-1 {
padding-top: 0.25rem !important;
}
+
.pt-md-2 {
padding-top: 0.5rem !important;
}
+
.pt-md-3 {
padding-top: 1rem !important;
}
+
.pt-md-4 {
padding-top: 1.5rem !important;
}
+
.pt-md-5 {
padding-top: 3rem !important;
}
+
.pr-md-0 {
padding-right: 0 !important;
}
+
.pr-md-1 {
padding-right: 0.25rem !important;
}
+
.pr-md-2 {
padding-right: 0.5rem !important;
}
+
.pr-md-3 {
padding-right: 1rem !important;
}
+
.pr-md-4 {
padding-right: 1.5rem !important;
}
+
.pr-md-5 {
padding-right: 3rem !important;
}
+
.pb-md-0 {
padding-bottom: 0 !important;
}
+
.pb-md-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-md-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-md-3 {
padding-bottom: 1rem !important;
}
+
.pb-md-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-md-5 {
padding-bottom: 3rem !important;
}
+
.pl-md-0 {
padding-left: 0 !important;
}
+
.pl-md-1 {
padding-left: 0.25rem !important;
}
+
.pl-md-2 {
padding-left: 0.5rem !important;
}
+
.pl-md-3 {
padding-left: 1rem !important;
}
+
.pl-md-4 {
padding-left: 1.5rem !important;
}
+
.pl-md-5 {
padding-left: 3rem !important;
}
}
-
@media (min-width: 992px) {
.d-lg-inline {
display: inline !important;
}
+
.d-lg-inline-block {
display: inline-block !important;
}
+
.d-lg-block {
display: block !important;
}
+
+ .d-lg-grid {
+ display: grid !important;
+ }
+
.d-lg-table {
display: table !important;
}
+
.d-lg-table-row {
display: table-row !important;
}
+
.d-lg-table-cell {
display: table-cell !important;
}
+
.d-lg-flex {
display: flex !important;
}
+
.d-lg-inline-flex {
display: inline-flex !important;
}
+
.d-lg-none {
display: none !important;
}
+
.flex-lg-fill {
flex: 1 1 auto !important;
}
+
.flex-lg-row {
flex-direction: row !important;
}
+
.flex-lg-column {
flex-direction: column !important;
}
+
.flex-lg-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-lg-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-lg-grow-0 {
flex-grow: 0 !important;
}
+
.flex-lg-grow-1 {
flex-grow: 1 !important;
}
+
.flex-lg-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-lg-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-lg-wrap {
flex-wrap: wrap !important;
}
+
.flex-lg-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-lg-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
.justify-content-lg-start {
justify-content: flex-start !important;
}
+
.justify-content-lg-end {
justify-content: flex-end !important;
}
+
.justify-content-lg-center {
justify-content: center !important;
}
+
.justify-content-lg-between {
justify-content: space-between !important;
}
+
.justify-content-lg-around {
justify-content: space-around !important;
}
+
.justify-content-lg-evenly {
justify-content: space-evenly !important;
}
+
.align-items-lg-start {
align-items: flex-start !important;
}
+
.align-items-lg-end {
align-items: flex-end !important;
}
+
.align-items-lg-center {
align-items: center !important;
}
+
.align-items-lg-baseline {
align-items: baseline !important;
}
+
.align-items-lg-stretch {
align-items: stretch !important;
}
+
.align-content-lg-start {
align-content: flex-start !important;
}
+
.align-content-lg-end {
align-content: flex-end !important;
}
+
.align-content-lg-center {
align-content: center !important;
}
+
.align-content-lg-between {
align-content: space-between !important;
}
+
.align-content-lg-around {
align-content: space-around !important;
}
+
.align-content-lg-stretch {
align-content: stretch !important;
}
+
.align-self-lg-auto {
align-self: auto !important;
}
+
.align-self-lg-start {
align-self: flex-start !important;
}
+
.align-self-lg-end {
align-self: flex-end !important;
}
+
.align-self-lg-center {
align-self: center !important;
}
+
.align-self-lg-baseline {
align-self: baseline !important;
}
+
.align-self-lg-stretch {
align-self: stretch !important;
}
+
.order-lg-first {
order: -1 !important;
}
+
.order-lg-0 {
order: 0 !important;
}
+
.order-lg-1 {
order: 1 !important;
}
+
.order-lg-2 {
order: 2 !important;
}
+
.order-lg-3 {
order: 3 !important;
}
+
.order-lg-4 {
order: 4 !important;
}
+
.order-lg-5 {
order: 5 !important;
}
+
.order-lg-last {
order: 6 !important;
}
+
.m-lg-0 {
margin: 0 !important;
}
+
.m-lg-1 {
margin: 0.25rem !important;
}
+
.m-lg-2 {
margin: 0.5rem !important;
}
+
.m-lg-3 {
margin: 1rem !important;
}
+
.m-lg-4 {
margin: 1.5rem !important;
}
+
.m-lg-5 {
margin: 3rem !important;
}
+
.m-lg-auto {
margin: auto !important;
}
+
.mx-lg-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-lg-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-lg-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-lg-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-lg-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-lg-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-lg-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-lg-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-lg-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-lg-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-lg-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-lg-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-lg-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-lg-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-lg-0 {
margin-top: 0 !important;
}
+
.mt-lg-1 {
margin-top: 0.25rem !important;
}
+
.mt-lg-2 {
margin-top: 0.5rem !important;
}
+
.mt-lg-3 {
margin-top: 1rem !important;
}
+
.mt-lg-4 {
margin-top: 1.5rem !important;
}
+
.mt-lg-5 {
margin-top: 3rem !important;
}
+
.mt-lg-auto {
margin-top: auto !important;
}
+
.mr-lg-0 {
margin-right: 0 !important;
}
+
.mr-lg-1 {
margin-right: 0.25rem !important;
}
+
.mr-lg-2 {
margin-right: 0.5rem !important;
}
+
.mr-lg-3 {
margin-right: 1rem !important;
}
+
.mr-lg-4 {
margin-right: 1.5rem !important;
}
+
.mr-lg-5 {
margin-right: 3rem !important;
}
+
.mr-lg-auto {
margin-right: auto !important;
}
+
.mb-lg-0 {
margin-bottom: 0 !important;
}
+
.mb-lg-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-lg-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-lg-3 {
margin-bottom: 1rem !important;
}
+
.mb-lg-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-lg-5 {
margin-bottom: 3rem !important;
}
+
.mb-lg-auto {
margin-bottom: auto !important;
}
+
.ml-lg-0 {
margin-left: 0 !important;
}
+
.ml-lg-1 {
margin-left: 0.25rem !important;
}
+
.ml-lg-2 {
margin-left: 0.5rem !important;
}
+
.ml-lg-3 {
margin-left: 1rem !important;
}
+
.ml-lg-4 {
margin-left: 1.5rem !important;
}
+
.ml-lg-5 {
margin-left: 3rem !important;
}
+
.ml-lg-auto {
margin-left: auto !important;
}
+
.p-lg-0 {
padding: 0 !important;
}
+
.p-lg-1 {
padding: 0.25rem !important;
}
+
.p-lg-2 {
padding: 0.5rem !important;
}
+
.p-lg-3 {
padding: 1rem !important;
}
+
.p-lg-4 {
padding: 1.5rem !important;
}
+
.p-lg-5 {
padding: 3rem !important;
}
+
.px-lg-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-lg-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-lg-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-lg-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-lg-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-lg-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-lg-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-lg-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-lg-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-lg-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-lg-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-lg-0 {
padding-top: 0 !important;
}
+
.pt-lg-1 {
padding-top: 0.25rem !important;
}
+
.pt-lg-2 {
padding-top: 0.5rem !important;
}
+
.pt-lg-3 {
padding-top: 1rem !important;
}
+
.pt-lg-4 {
padding-top: 1.5rem !important;
}
+
.pt-lg-5 {
padding-top: 3rem !important;
}
+
.pr-lg-0 {
padding-right: 0 !important;
}
+
.pr-lg-1 {
padding-right: 0.25rem !important;
}
+
.pr-lg-2 {
padding-right: 0.5rem !important;
}
+
.pr-lg-3 {
padding-right: 1rem !important;
}
+
.pr-lg-4 {
padding-right: 1.5rem !important;
}
+
.pr-lg-5 {
padding-right: 3rem !important;
}
+
.pb-lg-0 {
padding-bottom: 0 !important;
}
+
.pb-lg-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-lg-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-lg-3 {
padding-bottom: 1rem !important;
}
+
.pb-lg-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-lg-5 {
padding-bottom: 3rem !important;
}
+
.pl-lg-0 {
padding-left: 0 !important;
}
+
.pl-lg-1 {
padding-left: 0.25rem !important;
}
+
.pl-lg-2 {
padding-left: 0.5rem !important;
}
+
.pl-lg-3 {
padding-left: 1rem !important;
}
+
.pl-lg-4 {
padding-left: 1.5rem !important;
}
+
.pl-lg-5 {
padding-left: 3rem !important;
}
}
-
@media (min-width: 1200px) {
.d-xl-inline {
display: inline !important;
}
+
.d-xl-inline-block {
display: inline-block !important;
}
+
.d-xl-block {
display: block !important;
}
+
+ .d-xl-grid {
+ display: grid !important;
+ }
+
.d-xl-table {
display: table !important;
}
+
.d-xl-table-row {
display: table-row !important;
}
+
.d-xl-table-cell {
display: table-cell !important;
}
+
.d-xl-flex {
display: flex !important;
}
+
.d-xl-inline-flex {
display: inline-flex !important;
}
+
.d-xl-none {
display: none !important;
}
+
.flex-xl-fill {
flex: 1 1 auto !important;
}
+
.flex-xl-row {
flex-direction: row !important;
}
+
.flex-xl-column {
flex-direction: column !important;
}
+
.flex-xl-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-xl-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-xl-grow-0 {
flex-grow: 0 !important;
}
+
.flex-xl-grow-1 {
flex-grow: 1 !important;
}
+
.flex-xl-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-xl-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-xl-wrap {
flex-wrap: wrap !important;
}
+
.flex-xl-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-xl-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
.justify-content-xl-start {
justify-content: flex-start !important;
}
+
.justify-content-xl-end {
justify-content: flex-end !important;
}
+
.justify-content-xl-center {
justify-content: center !important;
}
+
.justify-content-xl-between {
justify-content: space-between !important;
}
+
.justify-content-xl-around {
justify-content: space-around !important;
}
+
.justify-content-xl-evenly {
justify-content: space-evenly !important;
}
+
.align-items-xl-start {
align-items: flex-start !important;
}
+
.align-items-xl-end {
align-items: flex-end !important;
}
+
.align-items-xl-center {
align-items: center !important;
}
+
.align-items-xl-baseline {
align-items: baseline !important;
}
+
.align-items-xl-stretch {
align-items: stretch !important;
}
+
.align-content-xl-start {
align-content: flex-start !important;
}
+
.align-content-xl-end {
align-content: flex-end !important;
}
+
.align-content-xl-center {
align-content: center !important;
}
+
.align-content-xl-between {
align-content: space-between !important;
}
+
.align-content-xl-around {
align-content: space-around !important;
}
+
.align-content-xl-stretch {
align-content: stretch !important;
}
+
.align-self-xl-auto {
align-self: auto !important;
}
+
.align-self-xl-start {
align-self: flex-start !important;
}
+
.align-self-xl-end {
align-self: flex-end !important;
}
+
.align-self-xl-center {
align-self: center !important;
}
+
.align-self-xl-baseline {
align-self: baseline !important;
}
+
.align-self-xl-stretch {
align-self: stretch !important;
}
+
.order-xl-first {
order: -1 !important;
}
+
.order-xl-0 {
order: 0 !important;
}
+
.order-xl-1 {
order: 1 !important;
}
+
.order-xl-2 {
order: 2 !important;
}
+
.order-xl-3 {
order: 3 !important;
}
+
.order-xl-4 {
order: 4 !important;
}
+
.order-xl-5 {
order: 5 !important;
}
+
.order-xl-last {
order: 6 !important;
}
+
.m-xl-0 {
margin: 0 !important;
}
+
.m-xl-1 {
margin: 0.25rem !important;
}
+
.m-xl-2 {
margin: 0.5rem !important;
}
+
.m-xl-3 {
margin: 1rem !important;
}
+
.m-xl-4 {
margin: 1.5rem !important;
}
+
.m-xl-5 {
margin: 3rem !important;
}
+
.m-xl-auto {
margin: auto !important;
}
+
.mx-xl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-xl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-xl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-xl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-xl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-xl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-xl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-xl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-xl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-xl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-xl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-xl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-xl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-xl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-xl-0 {
margin-top: 0 !important;
}
+
.mt-xl-1 {
margin-top: 0.25rem !important;
}
+
.mt-xl-2 {
margin-top: 0.5rem !important;
}
+
.mt-xl-3 {
margin-top: 1rem !important;
}
+
.mt-xl-4 {
margin-top: 1.5rem !important;
}
+
.mt-xl-5 {
margin-top: 3rem !important;
}
+
.mt-xl-auto {
margin-top: auto !important;
}
+
.mr-xl-0 {
margin-right: 0 !important;
}
+
.mr-xl-1 {
margin-right: 0.25rem !important;
}
+
.mr-xl-2 {
margin-right: 0.5rem !important;
}
+
.mr-xl-3 {
margin-right: 1rem !important;
}
+
.mr-xl-4 {
margin-right: 1.5rem !important;
}
+
.mr-xl-5 {
margin-right: 3rem !important;
}
+
.mr-xl-auto {
margin-right: auto !important;
}
+
.mb-xl-0 {
margin-bottom: 0 !important;
}
+
.mb-xl-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-xl-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-xl-3 {
margin-bottom: 1rem !important;
}
+
.mb-xl-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-xl-5 {
margin-bottom: 3rem !important;
}
+
.mb-xl-auto {
margin-bottom: auto !important;
}
+
.ml-xl-0 {
margin-left: 0 !important;
}
+
.ml-xl-1 {
margin-left: 0.25rem !important;
}
+
.ml-xl-2 {
margin-left: 0.5rem !important;
}
+
.ml-xl-3 {
margin-left: 1rem !important;
}
+
.ml-xl-4 {
margin-left: 1.5rem !important;
}
+
.ml-xl-5 {
margin-left: 3rem !important;
}
+
.ml-xl-auto {
margin-left: auto !important;
}
+
.p-xl-0 {
padding: 0 !important;
}
+
.p-xl-1 {
padding: 0.25rem !important;
}
+
.p-xl-2 {
padding: 0.5rem !important;
}
+
.p-xl-3 {
padding: 1rem !important;
}
+
.p-xl-4 {
padding: 1.5rem !important;
}
+
.p-xl-5 {
padding: 3rem !important;
}
+
.px-xl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-xl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-xl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-xl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-xl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-xl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-xl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-xl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-xl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-xl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-xl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-xl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-xl-0 {
padding-top: 0 !important;
}
+
.pt-xl-1 {
padding-top: 0.25rem !important;
}
+
.pt-xl-2 {
padding-top: 0.5rem !important;
}
+
.pt-xl-3 {
padding-top: 1rem !important;
}
+
.pt-xl-4 {
padding-top: 1.5rem !important;
}
+
.pt-xl-5 {
padding-top: 3rem !important;
}
+
.pr-xl-0 {
padding-right: 0 !important;
}
+
.pr-xl-1 {
padding-right: 0.25rem !important;
}
+
.pr-xl-2 {
padding-right: 0.5rem !important;
}
+
.pr-xl-3 {
padding-right: 1rem !important;
}
+
.pr-xl-4 {
padding-right: 1.5rem !important;
}
+
.pr-xl-5 {
padding-right: 3rem !important;
}
+
.pb-xl-0 {
padding-bottom: 0 !important;
}
+
.pb-xl-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-xl-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-xl-3 {
padding-bottom: 1rem !important;
}
+
.pb-xl-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-xl-5 {
padding-bottom: 3rem !important;
}
+
.pl-xl-0 {
padding-left: 0 !important;
}
+
.pl-xl-1 {
padding-left: 0.25rem !important;
}
+
.pl-xl-2 {
padding-left: 0.5rem !important;
}
+
.pl-xl-3 {
padding-left: 1rem !important;
}
+
.pl-xl-4 {
padding-left: 1.5rem !important;
}
+
.pl-xl-5 {
padding-left: 3rem !important;
}
}
-
@media (min-width: 1400px) {
.d-xxl-inline {
display: inline !important;
}
+
.d-xxl-inline-block {
display: inline-block !important;
}
+
.d-xxl-block {
display: block !important;
}
+
+ .d-xxl-grid {
+ display: grid !important;
+ }
+
.d-xxl-table {
display: table !important;
}
+
.d-xxl-table-row {
display: table-row !important;
}
+
.d-xxl-table-cell {
display: table-cell !important;
}
+
.d-xxl-flex {
display: flex !important;
}
+
.d-xxl-inline-flex {
display: inline-flex !important;
}
+
.d-xxl-none {
display: none !important;
}
+
.flex-xxl-fill {
flex: 1 1 auto !important;
}
+
.flex-xxl-row {
flex-direction: row !important;
}
+
.flex-xxl-column {
flex-direction: column !important;
}
+
.flex-xxl-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-xxl-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-xxl-grow-0 {
flex-grow: 0 !important;
}
+
.flex-xxl-grow-1 {
flex-grow: 1 !important;
}
+
.flex-xxl-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-xxl-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-xxl-wrap {
flex-wrap: wrap !important;
}
+
.flex-xxl-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-xxl-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
.justify-content-xxl-start {
justify-content: flex-start !important;
}
+
.justify-content-xxl-end {
justify-content: flex-end !important;
}
+
.justify-content-xxl-center {
justify-content: center !important;
}
+
.justify-content-xxl-between {
justify-content: space-between !important;
}
+
.justify-content-xxl-around {
justify-content: space-around !important;
}
+
.justify-content-xxl-evenly {
justify-content: space-evenly !important;
}
+
.align-items-xxl-start {
align-items: flex-start !important;
}
+
.align-items-xxl-end {
align-items: flex-end !important;
}
+
.align-items-xxl-center {
align-items: center !important;
}
+
.align-items-xxl-baseline {
align-items: baseline !important;
}
+
.align-items-xxl-stretch {
align-items: stretch !important;
}
+
.align-content-xxl-start {
align-content: flex-start !important;
}
+
.align-content-xxl-end {
align-content: flex-end !important;
}
+
.align-content-xxl-center {
align-content: center !important;
}
+
.align-content-xxl-between {
align-content: space-between !important;
}
+
.align-content-xxl-around {
align-content: space-around !important;
}
+
.align-content-xxl-stretch {
align-content: stretch !important;
}
+
.align-self-xxl-auto {
align-self: auto !important;
}
+
.align-self-xxl-start {
align-self: flex-start !important;
}
+
.align-self-xxl-end {
align-self: flex-end !important;
}
+
.align-self-xxl-center {
align-self: center !important;
}
+
.align-self-xxl-baseline {
align-self: baseline !important;
}
+
.align-self-xxl-stretch {
align-self: stretch !important;
}
+
.order-xxl-first {
order: -1 !important;
}
+
.order-xxl-0 {
order: 0 !important;
}
+
.order-xxl-1 {
order: 1 !important;
}
+
.order-xxl-2 {
order: 2 !important;
}
+
.order-xxl-3 {
order: 3 !important;
}
+
.order-xxl-4 {
order: 4 !important;
}
+
.order-xxl-5 {
order: 5 !important;
}
+
.order-xxl-last {
order: 6 !important;
}
+
.m-xxl-0 {
margin: 0 !important;
}
+
.m-xxl-1 {
margin: 0.25rem !important;
}
+
.m-xxl-2 {
margin: 0.5rem !important;
}
+
.m-xxl-3 {
margin: 1rem !important;
}
+
.m-xxl-4 {
margin: 1.5rem !important;
}
+
.m-xxl-5 {
margin: 3rem !important;
}
+
.m-xxl-auto {
margin: auto !important;
}
+
.mx-xxl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-xxl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-xxl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-xxl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-xxl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-xxl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-xxl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-xxl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-xxl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-xxl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-xxl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-xxl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-xxl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-xxl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-xxl-0 {
margin-top: 0 !important;
}
+
.mt-xxl-1 {
margin-top: 0.25rem !important;
}
+
.mt-xxl-2 {
margin-top: 0.5rem !important;
}
+
.mt-xxl-3 {
margin-top: 1rem !important;
}
+
.mt-xxl-4 {
margin-top: 1.5rem !important;
}
+
.mt-xxl-5 {
margin-top: 3rem !important;
}
+
.mt-xxl-auto {
margin-top: auto !important;
}
+
.mr-xxl-0 {
margin-right: 0 !important;
}
+
.mr-xxl-1 {
margin-right: 0.25rem !important;
}
+
.mr-xxl-2 {
margin-right: 0.5rem !important;
}
+
.mr-xxl-3 {
margin-right: 1rem !important;
}
+
.mr-xxl-4 {
margin-right: 1.5rem !important;
}
+
.mr-xxl-5 {
margin-right: 3rem !important;
}
+
.mr-xxl-auto {
margin-right: auto !important;
}
+
.mb-xxl-0 {
margin-bottom: 0 !important;
}
+
.mb-xxl-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-xxl-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-xxl-3 {
margin-bottom: 1rem !important;
}
+
.mb-xxl-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-xxl-5 {
margin-bottom: 3rem !important;
}
+
.mb-xxl-auto {
margin-bottom: auto !important;
}
+
.ml-xxl-0 {
margin-left: 0 !important;
}
+
.ml-xxl-1 {
margin-left: 0.25rem !important;
}
+
.ml-xxl-2 {
margin-left: 0.5rem !important;
}
+
.ml-xxl-3 {
margin-left: 1rem !important;
}
+
.ml-xxl-4 {
margin-left: 1.5rem !important;
}
+
.ml-xxl-5 {
margin-left: 3rem !important;
}
+
.ml-xxl-auto {
margin-left: auto !important;
}
+
.p-xxl-0 {
padding: 0 !important;
}
+
.p-xxl-1 {
padding: 0.25rem !important;
}
+
.p-xxl-2 {
padding: 0.5rem !important;
}
+
.p-xxl-3 {
padding: 1rem !important;
}
+
.p-xxl-4 {
padding: 1.5rem !important;
}
+
.p-xxl-5 {
padding: 3rem !important;
}
+
.px-xxl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-xxl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-xxl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-xxl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-xxl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-xxl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-xxl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-xxl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-xxl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-xxl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-xxl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-xxl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-xxl-0 {
padding-top: 0 !important;
}
+
.pt-xxl-1 {
padding-top: 0.25rem !important;
}
+
.pt-xxl-2 {
padding-top: 0.5rem !important;
}
+
.pt-xxl-3 {
padding-top: 1rem !important;
}
+
.pt-xxl-4 {
padding-top: 1.5rem !important;
}
+
.pt-xxl-5 {
padding-top: 3rem !important;
}
+
.pr-xxl-0 {
padding-right: 0 !important;
}
+
.pr-xxl-1 {
padding-right: 0.25rem !important;
}
+
.pr-xxl-2 {
padding-right: 0.5rem !important;
}
+
.pr-xxl-3 {
padding-right: 1rem !important;
}
+
.pr-xxl-4 {
padding-right: 1.5rem !important;
}
+
.pr-xxl-5 {
padding-right: 3rem !important;
}
+
.pb-xxl-0 {
padding-bottom: 0 !important;
}
+
.pb-xxl-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-xxl-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-xxl-3 {
padding-bottom: 1rem !important;
}
+
.pb-xxl-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-xxl-5 {
padding-bottom: 3rem !important;
}
+
.pl-xxl-0 {
padding-left: 0 !important;
}
+
.pl-xxl-1 {
padding-left: 0.25rem !important;
}
+
.pl-xxl-2 {
padding-left: 0.5rem !important;
}
+
.pl-xxl-3 {
padding-left: 1rem !important;
}
+
.pl-xxl-4 {
padding-left: 1.5rem !important;
}
+
.pl-xxl-5 {
padding-left: 3rem !important;
}
}
-
@media print {
.d-print-inline {
display: inline !important;
}
+
.d-print-inline-block {
display: inline-block !important;
}
+
.d-print-block {
display: block !important;
}
+
+ .d-print-grid {
+ display: grid !important;
+ }
+
.d-print-table {
display: table !important;
}
+
.d-print-table-row {
display: table-row !important;
}
+
.d-print-table-cell {
display: table-cell !important;
}
+
.d-print-flex {
display: flex !important;
}
+
.d-print-inline-flex {
display: inline-flex !important;
}
+
.d-print-none {
display: none !important;
}
}
+
/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map
index 1994285a71..6fc036c111 100644
--- a/dist/css/bootstrap-grid.css.map
+++ b/dist/css/bootstrap-grid.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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DV,gBAA8C;EN+/B9C;EMv8BU;IAxDV,uBAA8C;ENkgC9C;EM18BU;IAxDV,uBAA8C;ENqgC9C;EM78BU;IAxDV,gBAA8C;ENwgC9C;EMh9BU;IAxDV,uBAA8C;EN2gC9C;EMn9BU;IAxDV,uBAA8C;EN8gC9C;EM38BM;;IAEE,gBAAwC;EN68BhD;EM18BM;;IAEE,gBAAwC;EN48BhD;EMn9BM;;IAEE,sBAAwC;ENq9BhD;EMl9BM;;IAEE,sBAAwC;ENo9BhD;EM39BM;;IAEE,qBAAwC;EN69BhD;EM19BM;;IAEE,qBAAwC;EN49BhD;EMn+BM;;IAEE,mBAAwC;ENq+BhD;EMl+BM;;IAEE,mBAAwC;ENo+BhD;EM3+BM;;IAEE,qBAAwC;EN6+BhD;EM1+BM;;IAEE,qBAAwC;EN4+BhD;EMn/BM;;IAEE,mBAAwC;ENq/BhD;EMl/BM;;IAEE,mBAAwC;ENo/BhD;AACF;;AO9jCM;EAEI,0BAA+D;APgkCzE;;AOlkCM;EAEI,gCAA+D;APokCzE;;AOtkCM;EAEI,yBAA+D;APwkCzE;;AO1kCM;EAEI,yBAA+D;AP4kCzE;;AO9kCM;EAEI,6BAA+D;APglCzE;;AOllCM;EAEI,8BAA+D;APolCzE;;AOtlCM;EAEI,wBAA+D;APwlCzE;;AO1lCM;EAEI,+BAA+D;AP4lCzE;;AO9lCM;EAEI,wBAA+D;APgmCzE;;AOlmCM;EAEI,yBAA+D;APomCzE;;AOtmCM;EAEI,8BAA+D;APwmCzE;;AO1mCM;EAEI,iCAA+D;AP4mCzE;;AO9mCM;EAEI,sCAA+D;APgnCzE;;AOlnCM;EAEI,yCAA+D;APonCzE;;AOtnCM;EAEI,uBAA+D;APwnCzE;;AO1nCM;EAEI,uBAA+D;AP4nCzE;;AO9nCM;EAEI,yBAA+D;APgoCzE;;AOloCM;EAEI,yBAA+D;APooCzE;;AOtoCM;EAEI,0BAA+D;APwoCzE;;AO1oCM;EAEI,4BAA+D;AP4oCzE;;AO9oCM;EAEI,kCAA+D;APgpCzE;;AOlpCM;EAEI,sCAA+D;APopCzE;;AOtpCM;EAEI,oCAA+D;APwpCzE;;AO1pCM;EAEI,kCAA+D;AP4pCzE;;AO9pCM;EAEI,yCAA+D;APgqCzE;;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AA+D;AP8oDzE;;AOhpDM;EAEI,6BAA+D;APkpDzE;;AG9nDI;EItBE;IAEI,0BAA+D;EPupDvE;EOzpDI;IAEI,gCAA+D;EP0pDvE;EO5pDI;IAEI,yBAA+D;EP6pDvE;EO/pDI;IAEI,yBAA+D;EPgqDvE;EOlqDI;IAEI,6BAA+D;EPmqDvE;EOrqDI;IAEI,8BAA+D;EPsqDvE;EOxqDI;IAEI,wBAA+D;EPyqDvE;EO3qDI;IAEI,+BAA+D;EP4qDvE;EO9qDI;IAEI,wBAA+D;EP+qDvE;EOjrDI;IAEI,yBAA+D;EPkrDvE;EOprDI;IAEI,8BAA+D;EPqrDvE;EOvrDI;IAEI,iCAA+D;EPwrDvE;EO1rDI;IAEI,sCAA+D;EP2rDvE;EO7rDI;IAEI,yCAA+D;EP8rDvE;EOhsDI;IAEI,uBAA+D;EPisDvE;EOnsDI;IAEI,uBAA+D;EPosDvE;EOtsDI;IAEI,yBAA+D;EPusDvE;EOzsDI;IAEI,yBAA+D;EP0sDvE;EO5sDI;IAEI,0BAA+D;EP6sDvE;EO/sDI;IAEI,4BAA+D;EPgtDvE;EOltDI;IAEI,kCAA+D;EPmtDvE;EOrtDI;IAEI,sCAA+D;EPstDvE;EOxtDI;IAEI,oCAA+D;EPytDvE;EO3tDI;IAEI,kCAA+D;EP4tDvE;EO9tDI;IAEI,yCAA+D;EP+tDvE;EOjuDI;IAEI,wCAA+D;EPkuDvE;EOpuDI;IAEI,wCAA+D;EPquDvE;EOvuDI;IAEI,kCAA+D;EPwuDvE;EO1uDI;IAEI,gCAA+D;EP2uDvE;EO7uDI;IAEI,8BAA+D;EP8uDvE;EOhvDI;IAEI,gCAA+D;EPivDvE;EOnvDI;IAEI,+BAA+D;EPovDvE;EOtvDI;IAEI,oCAA+D;EPuvDvE;EOzvDI;IAEI,kCAA+D;EP0vDvE;EO5vDI;IAEI,gCAA+D;EP6vDvE;EO/vDI;IAEI,uCAA+D;EPgwDvE;EOlwDI;IAEI,sCAA+D;EPmwDvE;EOrwDI;IAEI,iCAA+D;EPswDvE;EOxwDI;IAEI,2BAA+D;EPywDvE;EO3wDI;IAEI,iCAA+D;EP4wDvE;EO9wDI;IAEI,+BAA+D;EP+wDvE;EOjxDI;IAEI,6BAA+D;EPkxDvE;EOpxDI;IAEI,+BAA+D;EPqxDvE;EOvxDI;IAEI,8BAA+D;EPwxDvE;EO1xDI;IAEI,oBAA+D;EP2xDvE;EO7xDI;IAEI,mBAA+D;EP8xDvE;EOhyDI;IAEI,mBAA+D;EPiyDvE;EOnyDI;IAEI,mBAA+D;EPoyDvE;EOtyDI;IAEI,mBAA+D;EPuyDvE;EOzyDI;IAEI,mBAA+D;EP0yDvE;EO5yDI;IAEI,mBAA+D;EP6yDvE;EO/yDI;IAEI,mBAA+D;EPgzDvE;EOlzDI;IAEI,oBAA+D;EPmzDvE;EOrzDI;IAEI,0BAA+D;EPszDvE;EOxzDI;IAEI,yBAA+D;EPyzDvE;EO3zDI;IAEI,uBAA+D;EP4zDvE;EO9zDI;IAEI,yBAA+D;EP+zDvE;EOj0DI;IAEI,uBAA+D;EPk0DvE;EOp0DI;IAEI,uBAA+D;EPq0DvE;EOv0DI;IAEI,0BAA+D;IAA/D,yBAA+D;EPy0DvE;EO30DI;IAEI,gCAA+D;IAA/D,+BAA+D;EP60DvE;EO/0DI;IAEI,+BAA+D;IAA/D,8BAA+D;EPi1DvE;EOn1DI;IAEI,6BAA+D;IAA/D,4BAA+D;EPq1DvE;EOv1DI;IAEI,+BAA+D;IAA/D,8BAA+D;EPy1DvE;EO31DI;IAEI,6BAA+D;IAA/D,4BAA+D;EP61DvE;EO/1DI;IAEI,6BAA+D;IAA/D,4BAA+D;EPi2DvE;EOn2DI;IAEI,wBAA+D;IAA/D,2BAA+D;EPq2DvE;EOv2DI;IAEI,8BAA+D;IAA/D,iCAA+D;EPy2DvE;EO32DI;IAEI,6BAA+D;IAA/D,gCAA+D;EP62DvE;EO/2DI;IAEI,2BAA+D;IAA/D,8BAA+D;EPi3DvE;EOn3DI;IAEI,6BAA+D;IAA/D,gCAA+D;EPq3DvE;EOv3DI;IAEI,2BAA+D;IAA/D,8BAA+D;EPy3DvE;EO33DI;IAEI,2BAA+D;IAA/D,8BAA+D;EP63DvE;EO/3DI;IAEI,wBAA+D;EPg4DvE;EOl4DI;IAEI,8BAA+D;EPm4DvE;EOr4DI;IAEI,6BAA+D;EPs4DvE;EOx4DI;IAEI,2BAA+D;EPy4DvE;EO34DI;IAEI,6BAA+D;EP44DvE;EO94DI;IAEI,2BAA+D;EP+4DvE;EOj5DI;IAEI,2BAA+D;EPk5DvE;EOp5DI;IAEI,0BAA+D;EPq5DvE;EOv5DI;IAEI,gCAA+D;EPw5DvE;EO15DI;IAEI,+BAA+D;EP25DvE;EO75DI;IAEI,6BAA+D;EP85DvE;EOh6DI;IAEI,+BAA+D;EPi6DvE;EOn6DI;IAEI,6BAA+D;EPo6DvE;EOt6DI;IAEI,6BAA+D;EPu6DvE;EOz6DI;IAEI,2BAA+D;EP06DvE;EO56DI;IAEI,iCAA+D;EP66DvE;EO/6DI;IAEI,gCAA+D;EPg7DvE;EOl7DI;IAEI,8BAA+D;EPm7DvE;EOr7DI;IAEI,gCAA+D;EPs7DvE;EOx7DI;IAEI,8BAA+D;EPy7DvE;EO37DI;IAEI,8BAA+D;EP47DvE;EO97DI;IAEI,yBAA+D;EP+7DvE;EOj8DI;IAEI,+BAA+D;EPk8DvE;EOp8DI;IAEI,8BAA+D;EPq8DvE;EOv8DI;IAEI,4BAA+D;EPw8DvE;EO18DI;IAEI,8BAA+D;EP28DvE;EO78DI;IAEI,4BAA+D;EP88DvE;EOh9DI;IAEI,4BAA+D;EPi9DvE;EOn9DI;IAEI,qBAA+D;EPo9DvE;EOt9DI;IAEI,2BAA+D;EPu9DvE;EOz9DI;IAEI,0BAA+D;EP09DvE;EO59DI;IAEI,wBAA+D;EP69DvE;EO/9DI;IAEI,0BAA+D;EPg+DvE;EOl+DI;IAEI,wBAA+D;EPm+DvE;EOr+DI;IAEI,2BAA+D;IAA/D,0BAA+D;EPu+DvE;EOz+DI;IAEI,iCAA+D;IAA/D,gCAA+D;EP2+DvE;EO7+DI;IAEI,gCAA+D;IAA/D,+BAA+D;EP++DvE;EOj/DI;IAEI,8BAA+D;IAA/D,6BAA+D;EPm/DvE;EOr/DI;IAEI,gCAA+D;IAA/D,+BAA+D;EPu/DvE;EOz/DI;IAEI,8BAA+D;IAA/D,6BAA+D;EP2/DvE;EO7/DI;IAEI,yBAA+D;IAA/D,4BAA+D;EP+/DvE;EOjgEI;IAEI,+BAA+D;IAA/D,kCAA+D;EPmgEvE;EOrgEI;IAEI,8BAA+D;IAA/D,iCAA+D;EPugEvE;EOzgEI;IAEI,4BAA+D;IAA/D,+BAA+D;EP2gEvE;EO7gEI;IAEI,8BAA+D;IAA/D,iCAA+D;EP+gEvE;EOjhEI;IAEI,4BAA+D;IAA/D,+BAA+D;EPmhEvE;EOrhEI;IAEI,yBAA+D;EPshEvE;EOxhEI;IAEI,+BAA+D;EPyhEvE;EO3hEI;IAEI,8BAA+D;EP4hEvE;EO9hEI;IAEI,4BAA+D;EP+hEvE;EOjiEI;IAEI,8BAA+D;EPkiEvE;EOpiEI;IAEI,4BAA+D;EPqiEvE;EOviEI;IAEI,2BAA+D;EPwiEvE;EO1iEI;IAEI,iCAA+D;EP2iEvE;EO7iEI;IAEI,gCAA+D;EP8iEvE;EOhjEI;IAEI,8BAA+D;EPijEvE;EOnjEI;IAEI,gCAA+D;EPojEvE;EOtjEI;IAEI,8BAA+D;EPujEvE;EOzjEI;IAEI,4BAA+D;EP0jEvE;EO5jEI;IAEI,kCAA+D;EP6jEvE;EO/jEI;IAEI,iCAA+D;EPgkEvE;EOlkEI;IAEI,+BAA+D;EPmkEvE;EOrkEI;IAEI,iCAA+D;EPskEvE;EOxkEI;IAEI,+BAA+D;EPykEvE;EO3kEI;IAEI,0BAA+D;EP4kEvE;EO9kEI;IAEI,gCAA+D;EP+kEvE;EOjlEI;IAEI,+BAA+D;EPklEvE;EOplEI;IAEI,6BAA+D;EPqlEvE;EOvlEI;IAEI,+BAA+D;EPwlEvE;EO1lEI;IAEI,6BAA+D;EP2lEvE;AACF;;AGxkEI;EItBE;IAEI,0BAA+D;EPimEvE;EOnmEI;IAEI,gCAA+D;EPomEvE;EOtmEI;IAEI,yBAA+D;EPumEvE;EOzmEI;IAEI,yBAA+D;EP0mEvE;EO5mEI;IAEI,6BAA+D;EP6mEvE;EO/mEI;IAEI,8BAA+D;EPgnEvE;EOlnEI;IAEI,wBAA+D;EPmnEvE;EOrnEI;IAEI,+BAA+D;EPsnEvE;EOxnEI;IAEI,wBAA+D;EPynEvE;EO3nEI;IAEI,yBAA+D;EP4nEvE;EO9nEI;IAEI,8BAA+D;EP+nEvE;EOjoEI;IAEI,iCAA+D;EPkoEvE;EOpoEI;IAEI,sCAA+D;EPqoEvE;EOvoEI;IAEI,yCAA+D;EPwoEvE;EO1oEI;IAEI,uBAA+D;EP2oEvE;EO7oEI;IAEI,uBAA+D;EP8oEvE;EOhpEI;IAEI,yBAA+D;EPipEvE;EOnpEI;IAEI,yBAA+D;EPopEvE;EOtpEI;IAEI,0BAA+D;EPupEvE;EOzpEI;IAEI,4BAA+D;EP0pEvE;E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FvE;EOjiFI;IAEI,+BAA+D;EPkiFvE;EOpiFI;IAEI,6BAA+D;EPqiFvE;AACF;;AGlhFI;EItBE;IAEI,0BAA+D;EP2iFvE;EO7iFI;IAEI,gCAA+D;EP8iFvE;EOhjFI;IAEI,yBAA+D;EPijFvE;EOnjFI;IAEI,yBAA+D;EPojFvE;EOtjFI;IAEI,6BAA+D;EPujFvE;EOzjFI;IAEI,8BAA+D;EP0jFvE;EO5jFI;IAEI,wBAA+D;EP6jFvE;EO/jFI;IAEI,+BAA+D;EPgkFvE;EOlkFI;IAEI,wBAA+D;EPmkFvE;EOrkFI;IAEI,yBAA+D;EPskFvE;EOxkFI;IAEI,8BAA+D;EPykFvE;EO3kFI;IAEI,iCAA+D;EP4kFvE;EO9kFI;IAEI,sCAA+D;EP+kFvE;EOjlFI;IAEI,yCAA+D;EPklFvE;EOplFI;IAEI,uBAA+D;EPqlFvE;EOvlFI;IAEI,uBAA+D;EPwlFvE;EO1lFI;IAEI,yBAA+D;EP2lFvE;EO7lFI;IAEI,yBAA+D;EP8lFvE;EOhmFI;IAEI,0BAA+D;EPimFvE;EOnmFI;IAEI,4BAA+D;EPomFvE;EOtmFI;IAEI,kCAA+D;EPumFvE;EOzmFI;IAEI,sCAA+D;EP0mFvE;EO5mFI;IAEI,oCAA+D;EP6mFvE;EO/mFI;IAEI,kCAA+D;EPgnFvE;EOlnFI;IAEI,yCAA+D;EPmnFvE;EOrnFI;IAEI,wCAA+D;EPsnFvE;EOxnFI;IAEI,wCAA+D;EPynFvE;EO3nFI;IAEI,kCAA+D;EP4nFvE;EO9nFI;IAEI,gCAA+D;EP+nFvE;EOjoFI;IAEI,8BAA+D;EPkoFvE;EOpoFI;IAEI,gCAA+D;EPqoFvE;EOvoFI;IAEI,+BAA+D;EPwoFvE;EO1oFI;IAEI,oCAA+D;EP2oFvE;EO7oFI;IAEI,kCAA+D;EP8oFvE;EOhpFI;IAEI,gCAA+D;EPipFvE;EOnpFI;IAEI,uCAA+D;EPopFvE;EOtpFI;IAEI,sCAA+D;EPupFvE;EOzpFI;IAEI,iCAA+D;EP0pFvE;EO5pFI;IAEI,2BAA+D;EP6pFvE;EO/pFI;IAEI,iCAA+D;EPgqFvE;EOlqFI;IAEI,+BAA+D;EPmqFvE;EOrqFI;IAEI,6BAA+D;EPsq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IAA/D,+BAA+D;EPu6FvE;EOz6FI;IAEI,yBAA+D;EP06FvE;EO56FI;IAEI,+BAA+D;EP66FvE;EO/6FI;IAEI,8BAA+D;EPg7FvE;EOl7FI;IAEI,4BAA+D;EPm7FvE;EOr7FI;IAEI,8BAA+D;EPs7FvE;EOx7FI;IAEI,4BAA+D;EPy7FvE;EO37FI;IAEI,2BAA+D;EP47FvE;EO97FI;IAEI,iCAA+D;EP+7FvE;EOj8FI;IAEI,gCAA+D;EPk8FvE;EOp8FI;IAEI,8BAA+D;EPq8FvE;EOv8FI;IAEI,gCAA+D;EPw8FvE;EO18FI;IAEI,8BAA+D;EP28FvE;EO78FI;IAEI,4BAA+D;EP88FvE;EOh9FI;IAEI,kCAA+D;EPi9FvE;EOn9FI;IAEI,iCAA+D;EPo9FvE;EOt9FI;IAEI,+BAA+D;EPu9FvE;EOz9FI;IAEI,iCAA+D;EP09FvE;EO59FI;IAEI,+BAA+D;EP69FvE;EO/9FI;IAEI,0BAA+D;EPg+FvE;EOl+FI;IAEI,gCAA+D;EPm+FvE;EOr+FI;IAEI,+BAA+D;EPs+FvE;EOx+FI;IAEI,6BAA+D;EPy+FvE;EO3+FI;IAEI,+BAA+D;EP4+FvE;EO9+FI;IAEI,6BAA+D;EP++FvE;AACF;;AG59FI;EItBE;IAEI,0BAA+D;EPq/FvE;EOv/FI;IAEI,gCAA+D;EPw/FvE;EO1/FI;IAEI,yBAA+D;EP2/FvE;EO7/FI;IAEI,yBAA+D;EP8/FvE;EOhgGI;IAEI,6BAA+D;EPigGvE;EOngGI;IAEI,8BAA+D;EPogGvE;EOtgGI;IAEI,wBAA+D;EPugGvE;EOzgGI;IAEI,+BAA+D;EP0gGvE;EO5gGI;IAEI,wBAA+D;EP6gGvE;EO/gGI;IAEI,yBAA+D;EPghGvE;EOlhGI;IAEI,8BAA+D;EPmhGvE;EOrhGI;IAEI,iCAA+D;EPshGvE;EOxhGI;IAEI,sCAA+D;EPyhGvE;EO3hGI;IAEI,yCAA+D;EP4hGvE;EO9hGI;IAEI,uBAA+D;EP+hGvE;EOjiGI;IAEI,uBAA+D;EPkiGvE;EOpiGI;IAEI,yBAA+D;EPqiGvE;EOviGI;IAEI,yBAA+D;EPwiGvE;EO1iGI;IAEI,0BAA+D;EP2iGvE;EO7iGI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Ol7GI;IAEI,6BAA+D;EPm7GvE;EOr7GI;IAEI,+BAA+D;EPs7GvE;EOx7GI;IAEI,6BAA+D;EPy7GvE;AACF;;AGt6GI;EItBE;IAEI,0BAA+D;EP+7GvE;EOj8GI;IAEI,gCAA+D;EPk8GvE;EOp8GI;IAEI,yBAA+D;EPq8GvE;EOv8GI;IAEI,yBAA+D;EPw8GvE;EO18GI;IAEI,6BAA+D;EP28GvE;EO78GI;IAEI,8BAA+D;EP88GvE;EOh9GI;IAEI,wBAA+D;EPi9GvE;EOn9GI;IAEI,+BAA+D;EPo9GvE;EOt9GI;IAEI,wBAA+D;EPu9GvE;EOz9GI;IAEI,yBAA+D;EP09GvE;EO59GI;IAEI,8BAA+D;EP69GvE;EO/9GI;IAEI,iCAA+D;EPg+GvE;EOl+GI;IAEI,sCAA+D;EPm+GvE;EOr+GI;IAEI,yCAA+D;EPs+GvE;EOx+GI;IAEI,uBAA+D;EPy+GvE;EO3+GI;IAEI,uBAA+D;EP4+GvE;EO9+GI;IAEI,yBAA+D;EP++GvE;EOj/GI;IAEI,yBAA+D;EPk/GvE;EOp/GI;IAEI,0BAA+D;EPq/GvE;EOv/GI;IAEI,4BAA+D;EPw/GvE;EO1/GI;IAEI,kCAA+D;EP2/GvE;EO7/GI;IAEI,sCAA+D;EP8/GvE;EOhgHI;IAEI,oCAA+D;EPigHvE;EOngHI;IAEI,kCAA+D;EPogHvE;EOtgHI;IAEI,yCAA+D;EPugHvE;EOzgHI;IAEI,wCAA+D;EP0gHvE;EO5gHI;IAEI,wCAA+D;EP6gHvE;EO/gHI;IAEI,kCAA+D;EPghHvE;EOlhHI;IAEI,gCAA+D;EPmhHvE;EOrhHI;IAEI,8BAA+D;EPshHvE;EOxhHI;IAEI,gCAA+D;EPyhHvE;EO3hHI;IAEI,+BAA+D;EP4hHvE;EO9hHI;IAEI,oCAA+D;EP+hHvE;EOjiHI;IAEI,kCAA+D;EPkiHvE;EOpiHI;IAEI,gCAA+D;EPqiHvE;EOviHI;IAEI,uCAA+D;EPwiHvE;EO1iHI;IAEI,sCAA+D;EP2iHvE;EO7iHI;IAEI,iCAA+D;EP8iHvE;EOhjHI;IAEI,2BAA+D;EPijHvE;EOnjHI;IAEI,iCAA+D;EPojHvE;EOtjHI;IAEI,+BAA+D;EPujHvE;E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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n@media (min-width: 1400px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {\n max-width: 1320px;\n }\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !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$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: scale-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n$headings-margin-bottom: $spacer / 2 !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: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n\n$table-variants: (\n \"primary\": scale-color($primary, $table-bg-scale),\n \"secondary\": scale-color($secondary, $table-bg-scale),\n \"success\": scale-color($success, $table-bg-scale),\n \"info\": scale-color($info, $table-bg-scale),\n \"warning\": scale-color($warning, $table-bg-scale),\n \"danger\": scale-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.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.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><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\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 50% !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 50% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><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 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><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-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$btn-close-color}' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\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: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof 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: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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J8pCR;;EIrqCM;;IAEE,qBAAA;EJwqCR;;EIrqCM;;IAEE,qBAAA;EJwqCR;;EI/qCM;;IAEE,mBAAA;EJkrCR;;EI/qCM;;IAEE,mBAAA;EJkrCR;;EIzrCM;;IAEE,qBAAA;EJ4rCR;;EIzrCM;;IAEE,qBAAA;EJ4rCR;;EInsCM;;IAEE,mBAAA;EJssCR;;EInsCM;;IAEE,mBAAA;EJssCR;AACF;AKhxCM;EAEI,0BAAA;ALixCV;;AKnxCM;EAEI,gCAAA;ALqxCV;;AKvxCM;EAEI,yBAAA;ALyxCV;;AK3xCM;EAEI,wBAAA;AL6xCV;;AK/xCM;EAEI,yBAAA;ALiyCV;;AKnyCM;EAEI,6BAAA;ALqyCV;;AKvyCM;EAEI,8BAAA;ALyyCV;;AK3yCM;EAEI,wBAAA;AL6yCV;;AK/yCM;EAEI,+BAAA;ALizCV;;AKnzCM;EAEI,wBAAA;ALqzCV;;AKvzCM;EAEI,yBAAA;ALyzCV;;AK3zCM;EAEI,8BAAA;AL6zCV;;AK/zCM;EAEI,iCAAA;ALi0CV;;AKn0CM;EAEI,sCAAA;ALq0CV;;AKv0CM;EAEI,yCAAA;ALy0CV;;AK30CM;EAEI,uBAAA;AL60CV;;AK/0CM;EAEI,uBAAA;ALi1CV;;AKn1CM;EAEI,yBAAA;ALq1CV;;AKv1CM;EAEI,yBAAA;ALy1CV;;AK31CM;EAEI,0BAAA;AL61CV;;AK/1CM;EAEI,4BAAA;ALi2CV;;AKn2CM;EAEI,kCAAA;ALq2CV;;AKv2CM;EAEI,sCAAA;ALy2CV;;AK32CM;EAEI,oCAAA;AL62CV;;AK/2CM;EAEI,kCAAA;ALi3CV;;AKn3CM;EAEI,yCAAA;ALq3CV;;AKv3CM;EAEI,wCAAA;ALy3CV;;AK33CM;EAEI,wCAAA;AL63CV;;AK/3CM;EAEI,kCAAA;ALi4CV;;AKn4CM;EAEI,gCAAA;ALq4CV;;AKv4CM;EAEI,8BAAA;ALy4CV;;AK34CM;EAEI,gCAAA;AL64CV;;AK/4CM;EAEI,+BAAA;ALi5CV;;AKn5CM;EAEI,oCAAA;ALq5CV;;AKv5CM;EAEI,kCAAA;ALy5CV;;AK35CM;EAEI,gCAAA;AL65CV;;AK/5CM;EAEI,uCAAA;ALi6CV;;AKn6CM;EAEI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Lm9ER;;EKr9EI;IAEI,yBAAA;ELu9ER;;EKz9EI;IAEI,6BAAA;EL29ER;;EK79EI;IAEI,8BAAA;EL+9ER;;EKj+EI;IAEI,wBAAA;ELm+ER;;EKr+EI;IAEI,+BAAA;ELu+ER;;EKz+EI;IAEI,wBAAA;EL2+ER;;EK7+EI;IAEI,yBAAA;EL++ER;;EKj/EI;IAEI,8BAAA;ELm/ER;;EKr/EI;IAEI,iCAAA;ELu/ER;;EKz/EI;IAEI,sCAAA;EL2/ER;;EK7/EI;IAEI,yCAAA;EL+/ER;;EKjgFI;IAEI,uBAAA;ELmgFR;;EKrgFI;IAEI,uBAAA;ELugFR;;EKzgFI;IAEI,yBAAA;EL2gFR;;EK7gFI;IAEI,yBAAA;EL+gFR;;EKjhFI;IAEI,0BAAA;ELmhFR;;EKrhFI;IAEI,4BAAA;ELuhFR;;EKzhFI;IAEI,kCAAA;EL2hFR;;EK7hFI;IAEI,sCAAA;EL+hFR;;EKjiFI;IAEI,oCAAA;ELmiFR;;EKriFI;IAEI,kCAAA;ELuiFR;;EKziFI;IAEI,yCAAA;EL2iFR;;EK7iFI;IAEI,wCAAA;EL+iFR;;EKjjFI;IAEI,wCAAA;ELmjFR;;EKrjFI;IAEI,kCAAA;ELujFR;;EKzjFI;IAEI,gCAAA;EL2jFR;;EK7jFI;IAEI,8BAAA;EL+jFR;;EKjkFI;IAEI,gCAAA;ELmkFR;;EKrkFI;IAEI,+BAAA;ELukFR;;EKzkFI;IAEI,oCAAA;EL2kFR;;EK7kFI;IAEI,kCAAA;EL+kFR;;EKjlFI;IAEI,gCAAA;ELmlFR;;EKrlFI;IAEI,uCAAA;ELulFR;;EKzlFI;IAEI,sCAAA;EL2lFR;;EK7lFI;IAEI,iCAAA;EL+lFR;;EKjmFI;IAEI,2BAAA;ELmmFR;;EKrmFI;IAEI,iCAAA;ELumFR;;EKzmFI;IAEI,+BAAA;EL2mFR;;EK7mFI;IAEI,6BAAA;EL+mFR;;EKjnFI;IAEI,+BAAA;ELmnFR;;EKrnFI;IAEI,8BAAA;ELunFR;;EKznFI;IAEI,oBAAA;EL2nFR;;EK7nFI;IAEI,mBAAA;EL+nFR;;EKjoFI;IAEI,mBAAA;ELmoFR;;EKroFI;IAEI,mBAAA;ELuoFR;;EKzoFI;IAEI,mBAAA;EL2oFR;;EK7oFI;IAEI,mBAAA;EL+oFR;;EKjpFI;IAEI,mBAAA;ELmpFR;;EKrpFI;IAEI,mBAAA;ELupFR;;EKzpFI;IAEI,oBAAA;EL2pFR;;EK7pFI;IAEI,0BAAA;EL+pFR;;EKjqFI;IAEI,yBAAA;ELmqFR;;EKrqFI;IAEI,uBAAA;ELuqFR;;EKzqFI;IAEI,yBAAA;EL2qFR;;EK7qFI;IAEI,uBAAA;EL+qFR;;EKjrFI;IAEI,uBAAA;ELmrFR;;EKrrFI;IAEI,0BAAA;IAAA,yBAAA;ELwrFR;;EK1rFI;IAEI,gCAAA;IAAA,+BAAA;EL6rFR;;EK/rFI;IAEI,+BAAA;IAAA,8BAAA;ELksFR;;EKpsFI;IAEI,6BAAA;IAAA,4BAAA;ELusFR;;EKzsFI;IAEI,+BAAA;IAAA,8BAAA;EL4sFR;;EK9sFI;IAEI,6BAAA;IAAA,4BAAA;ELitFR;;EKntFI;IAEI,6BAAA;IAAA,4BAAA;ELstFR;;EKxtFI;IAEI,wBAAA;IAAA,2BAAA;EL2tFR;;EK7tFI;IAEI,8BAAA;IAAA,iCAAA;ELguFR;;EKluFI;IAEI,6BAAA;IAAA,gCAAA;ELquFR;;EKvuFI;IAEI,2BAAA;IAAA,8BAAA;EL0uFR;;EK5uFI;IAEI,6BAAA;IAAA,gCAAA;EL+uFR;;EKjvFI;IAEI,2BAAA;IAAA,8BAAA;ELovFR;;EKtvFI;IAEI,2BAAA;IAAA,8BAAA;ELyvFR;;EK3vFI;IAEI,wBAAA;EL6vFR;;EK/vFI;IAEI,8BAAA;ELiwFR;;EKnwFI;IAEI,6BAAA;ELqwFR;;EKvwFI;IAEI,2BAAA;ELywFR;;EK3wFI;IAEI,6BAAA;EL6wFR;;EK/wFI;IAEI,2BAAA;ELixFR;;EKnxFI;IAEI,2BAAA;ELqxFR;;EKvxFI;IAEI,0BAAA;ELyxFR;;EK3xFI;IAEI,gCAAA;EL6xFR;;EK/xFI;IAEI,+BAAA;ELiyFR;;EKnyFI;IAEI,6BAAA;ELqyFR;;EKvyFI;IAEI,+BAAA;ELyyFR;;EK3yFI;IAEI,6BAAA;EL6yFR;;EK/yFI;IAEI,6BAAA;ELizFR;;EKnzFI;IAEI,2BAAA;ELqzFR;;EKvzFI;IAEI,iCAAA;ELyzFR;;EK3zFI;IAEI,gCAAA;EL6zFR;;EK/zFI;IAEI,8BAAA;ELi0FR;;EKn0FI;IAEI,gCAAA;ELq0FR;;EKv0FI;IAEI,8BAAA;ELy0FR;;EK30FI;IAEI,8BAAA;EL60FR;;EK/0FI;IAEI,yBAAA;ELi1FR;;EKn1FI;IAEI,+BAAA;ELq1FR;;EKv1FI;IAEI,8BAAA;ELy1FR;;EK31FI;IAEI,4BAAA;EL61FR;;EK/1FI;IAEI,8BAAA;ELi2FR;;EKn2FI;IAEI,4BAAA;ELq2FR;;EKv2FI;IAEI,4BAAA;ELy2FR;;EK32FI;IAEI,qBAAA;EL62FR;;EK/2FI;IAEI,2BAAA;ELi3FR;;EKn3FI;IAEI,0BAAA;ELq3FR;;EKv3FI;IAEI,wBAAA;ELy3FR;;EK33FI;IAEI,0BAAA;EL63FR;;EK/3FI;IAEI,wBAAA;ELi4FR;;EKn4FI;IAEI,2BAAA;IAAA,0BAAA;ELs4FR;;EKx4FI;IAEI,iCAAA;IAAA,gCAAA;EL24FR;;EK74FI;IAEI,gCAAA;IAAA,+BAAA;ELg5FR;;EKl5FI;IAEI,8BAAA;IAAA,6BAAA;ELq5FR;;EKv5FI;IAEI,gCAAA;IAAA,+BAAA;EL05FR;;EK55FI;IAEI,8BAAA;IAAA,6BAAA;EL+5FR;;EKj6FI;IAEI,yBAAA;IAAA,4BAAA;ELo6FR;;EKt6FI;IAEI,+BAAA;IAAA,kCAAA;ELy6FR;;EK36FI;IAEI,8BAAA;IAAA,iCAAA;EL86FR;;EKh7FI;IAEI,4BAAA;IAAA,+BAAA;ELm7FR;;EKr7FI;IAEI,8BAAA;IAAA,iCAAA;ELw7FR;;EK17FI;IAEI,4BAAA;IAAA,+BAAA;EL67FR;;EK/7FI;IAEI,yBAAA;ELi8FR;;EKn8FI;IAEI,+BAAA;ELq8FR;;EKv8FI;IAEI,8BAAA;ELy8FR;;EK38FI;IAEI,4BAAA;EL68FR;;EK/8FI;IAEI,8BAAA;ELi9FR;;EKn9FI;IAEI,4BAAA;ELq9FR;;EKv9FI;IAEI,2BAAA;ELy9FR;;EK39FI;IAEI,iCAAA;EL69FR;;EK/9FI;IAEI,gCAAA;ELi+FR;;EKn+FI;IAEI,8BAAA;ELq+FR;;EKv+FI;IAEI,gCAAA;ELy+FR;;EK3+FI;IAEI,8BAAA;EL6+FR;;EK/+FI;IAEI,4BAAA;ELi/FR;;EKn/FI;IAEI,kCAAA;ELq/FR;;EKv/FI;IAEI,iCAAA;ELy/FR;;EK3/FI;IAEI,+BAAA;EL6/FR;;EK//FI;IAEI,iCAAA;ELigGR;;EKngGI;IAEI,+BAAA;ELqgGR;;EKvgGI;IAEI,0BAAA;ELygGR;;EK3gGI;IAEI,gCAAA;EL6gGR;;EK/gGI;IAEI,+BAAA;ELihGR;;EKnhGI;IAEI,6BAAA;ELqhGR;;EKvhGI;IAEI,+BAAA;ELyhGR;;EK3hGI;IAEI,6BAAA;EL6hGR;AACF;AC1gGI;EItBE;IAEI,0BAAA;ELkiGR;;EKpiGI;IAEI,gCAAA;ELsiGR;;EKxiGI;IAEI,yBAAA;EL0iGR;;EK5iGI;IAEI,wBAAA;EL8iGR;;EKhjGI;IAEI,yBAAA;ELkjGR;;EKpjGI;IAEI,6BAAA;ELsjGR;;EKxjGI;IAEI,8BAAA;EL0jGR;;EK5jGI;IAEI,wBAAA;EL8jGR;;EKhkGI;IAEI,+BAAA;ELkkGR;;EKpkGI;IAEI,wBAAA;ELskGR;;EKxkGI;IAEI,yBAAA;EL0kGR;;EK5kGI;IAEI,8BAAA;EL8kGR;;EKhlGI;IAEI,iCAAA;ELklGR;;EKplGI;IAEI,sCAAA;ELslGR;;EKxlGI;IAEI,yCAAA;EL0lGR;;EK5lGI;IAEI,uBAAA;EL8lGR;;EKhmGI;IAEI,uBAAA;ELkmGR;;EKpmGI;IAEI,yBAAA;ELsmGR;;EKxmGI;IAEI,yBAAA;EL0mGR;;EK5mGI;IAEI,0BAAA;EL8mGR;;EKhnGI;IAEI,4BAAA;ELknGR;;EKpnGI;IAEI,kCAAA;ELsnGR;;EKxnGI;IAEI,sCAAA;EL0nGR;;EK5nGI;IAEI,oCAAA;EL8nGR;;EKhoGI;IAEI,kCAAA;ELkoGR;;EKpoGI;IAEI,yCAAA;ELsoGR;;EKxoGI;IAEI,wCAAA;EL0oGR;;EK5oGI;IAEI,wCAAA;EL8oGR;;EKhpGI;IAEI,kCAAA;ELkpGR;;EKppGI;IAEI,gCAAA;ELspGR;;EKxpGI;IAEI,8BAAA;EL0pGR;;EK5pGI;IAEI,gCAAA;EL8pGR;;EKhqGI;IAEI,+BAAA;ELkqGR;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BAAA;ELmtIR;AACF;AChsII;EItBE;IAEI,0BAAA;ELwtIR;;EK1tII;IAEI,gCAAA;EL4tIR;;EK9tII;IAEI,yBAAA;ELguIR;;EKluII;IAEI,wBAAA;ELouIR;;EKtuII;IAEI,yBAAA;ELwuIR;;EK1uII;IAEI,6BAAA;EL4uIR;;EK9uII;IAEI,8BAAA;ELgvIR;;EKlvII;IAEI,wBAAA;ELovIR;;EKtvII;IAEI,+BAAA;ELwvIR;;EK1vII;IAEI,wBAAA;EL4vIR;;EK9vII;IAEI,yBAAA;ELgwIR;;EKlwII;IAEI,8BAAA;ELowIR;;EKtwII;IAEI,iCAAA;ELwwIR;;EK1wII;IAEI,sCAAA;EL4wIR;;EK9wII;IAEI,yCAAA;ELgxIR;;EKlxII;IAEI,uBAAA;ELoxIR;;EKtxII;IAEI,uBAAA;ELwxIR;;EK1xII;IAEI,yBAAA;EL4xIR;;EK9xII;IAEI,yBAAA;ELgyIR;;EKlyII;IAEI,0BAAA;ELoyIR;;EKtyII;IAEI,4BAAA;ELwyIR;;EK1yII;IAEI,kCAAA;EL4yIR;;EK9yII;IAEI,sCAAA;ELgzIR;;EKlzII;IAEI,oCAAA;ELozIR;;EKtzII;IAEI,kCAAA;ELwzIR;;EK1zII;IAEI,yCAAA;EL4zIR;;EK9zII;IAEI,wCAAA;ELg0IR;;EKl0II;IAEI,wCAAA;ELo0IR;;EKt0II;IAEI,kCAAA;ELw0IR;;EK10II;IAEI,gCAAA;EL40IR;;EK90II;IAEI,8BAAA;ELg1IR;;EKl1II;IAEI,gCAAA;ELo1IR;;EKt1II;IAEI,+BAAA;ELw1IR;;EK11II;IAEI,oCAAA;EL41IR;;EK91II;IAEI,kCAAA;ELg2IR;;EKl2II;IAEI,gCAAA;ELo2IR;;EKt2II;IAEI,uCAAA;ELw2IR;;EK12II;IAEI,sCAAA;EL42IR;;EK92II;IAEI,iCAAA;ELg3IR;;EKl3II;IAEI,2BAAA;ELo3IR;;EKt3II;IAEI,iCAAA;ELw3IR;;EK13II;IAEI,+BAAA;EL43IR;;EK93II;IAEI,6BAAA;ELg4IR;;EKl4II;IAEI,+BAAA;ELo4IR;;EKt4II;IAEI,8BAAA;ELw4IR;;EK14II;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AA;EL0uJR;;EK5uJI;IAEI,iCAAA;EL8uJR;;EKhvJI;IAEI,gCAAA;ELkvJR;;EKpvJI;IAEI,8BAAA;ELsvJR;;EKxvJI;IAEI,gCAAA;EL0vJR;;EK5vJI;IAEI,8BAAA;EL8vJR;;EKhwJI;IAEI,4BAAA;ELkwJR;;EKpwJI;IAEI,kCAAA;ELswJR;;EKxwJI;IAEI,iCAAA;EL0wJR;;EK5wJI;IAEI,+BAAA;EL8wJR;;EKhxJI;IAEI,iCAAA;ELkxJR;;EKpxJI;IAEI,+BAAA;ELsxJR;;EKxxJI;IAEI,0BAAA;EL0xJR;;EK5xJI;IAEI,gCAAA;EL8xJR;;EKhyJI;IAEI,+BAAA;ELkyJR;;EKpyJI;IAEI,6BAAA;ELsyJR;;EKxyJI;IAEI,+BAAA;EL0yJR;;EK5yJI;IAEI,6BAAA;EL8yJR;AACF;AMpzJA;EDGM;IAEI,0BAAA;ELmzJR;;EKrzJI;IAEI,gCAAA;ELuzJR;;EKzzJI;IAEI,yBAAA;EL2zJR;;EK7zJI;IAEI,wBAAA;EL+zJR;;EKj0JI;IAEI,yBAAA;ELm0JR;;EKr0JI;IAEI,6BAAA;ELu0JR;;EKz0JI;IAEI,8BAAA;EL20JR;;EK70JI;IAEI,wBAAA;EL+0JR;;EKj1JI;IAEI,+BAAA;ELm1JR;;EKr1JI;IAEI,wBAAA;ELu1JR;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","/*!\n * Bootstrap Grid v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.3333333333%;\n}\n\n.offset-2 {\n margin-left: 16.6666666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.3333333333%;\n}\n\n.offset-5 {\n margin-left: 41.6666666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.3333333333%;\n}\n\n.offset-8 {\n margin-left: 66.6666666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.3333333333%;\n}\n\n.offset-11 {\n margin-left: 91.6666666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-sm-5,\n.gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-md-5,\n.gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-lg-5,\n.gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xl-5,\n.gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n\n .mr-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ml-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .mr-md-0 {\n margin-right: 0 !important;\n }\n\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n\n .mr-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ml-md-0 {\n margin-left: 0 !important;\n }\n\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n\n .ml-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pr-md-0 {\n padding-right: 0 !important;\n }\n\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-md-0 {\n padding-left: 0 !important;\n }\n\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n\n .mr-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ml-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !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$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: scale-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n$headings-margin-bottom: $spacer / 2 !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: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n\n$table-variants: (\n \"primary\": scale-color($primary, $table-bg-scale),\n \"secondary\": scale-color($secondary, $table-bg-scale),\n \"success\": scale-color($success, $table-bg-scale),\n \"info\": scale-color($info, $table-bg-scale),\n \"warning\": scale-color($warning, $table-bg-scale),\n \"danger\": scale-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.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.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n// Accordion\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default;\n$accordion-bg: transparent !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: rgba($black, .125) !default;\n$accordion-border-radius: $border-radius !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: $accordion-bg !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\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: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof 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: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.min.css b/dist/css/bootstrap-grid.min.css
index ccd6e12fa2..b23e99b3a7 100644
--- a/dist/css/bootstrap-grid.min.css
+++ b/dist/css/bootstrap-grid.min.css
@@ -1,7 +1,7 @@
/*!
- * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap Grid v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x)/ -2);margin-left:calc(var(--bs-gutter-x)/ -2)}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.333333%}.col-2{flex:0 0 auto;width:16.666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.333333%}.col-5{flex:0 0 auto;width:41.666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.333333%}.col-8{flex:0 0 auto;width:66.666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.333333%}.col-11{flex:0 0 auto;width:91.666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.333333%}.col-sm-2{flex:0 0 auto;width:16.666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.333333%}.col-sm-5{flex:0 0 auto;width:41.666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.333333%}.col-sm-8{flex:0 0 auto;width:66.666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.333333%}.col-sm-11{flex:0 0 auto;width:91.666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.333333%}.col-md-2{flex:0 0 auto;width:16.666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.333333%}.col-md-8{flex:0 0 auto;width:66.666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.333333%}.col-md-11{flex:0 0 auto;width:91.666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.333333%}.col-lg-2{flex:0 0 auto;width:16.666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.333333%}.col-lg-11{flex:0 0 auto;width:91.666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.333333%}.col-xl-2{flex:0 0 auto;width:16.666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.333333%}.col-xl-5{flex:0 0 auto;width:41.666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.333333%}.col-xl-8{flex:0 0 auto;width:66.666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.333333%}.col-xl-11{flex:0 0 auto;width:91.666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.333333%}.col-xxl-2{flex:0 0 auto;width:16.666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.333333%}.col-xxl-5{flex:0 0 auto;width:41.666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.333333%}.col-xxl-8{flex:0 0 auto;width:66.666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.333333%}.col-xxl-11{flex:0 0 auto;width:91.666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.333333%}.offset-xxl-2{margin-left:16.666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.333333%}.offset-xxl-5{margin-left:41.666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.333333%}.offset-xxl-8{margin-left:66.666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.333333%}.offset-xxl-11{margin-left:91.666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:.25rem!important}.mr-xxl-2{margin-right:.5rem!important}.mr-xxl-3{margin-right:1rem!important}.mr-xxl-4{margin-right:1.5rem!important}.mr-xxl-5{margin-right:3rem!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:.25rem!important}.ml-xxl-2{margin-left:.5rem!important}.ml-xxl-3{margin-left:1rem!important}.ml-xxl-4{margin-left:1.5rem!important}.ml-xxl-5{margin-left:3rem!important}.ml-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:.25rem!important}.pr-xxl-2{padding-right:.5rem!important}.pr-xxl-3{padding-right:1rem!important}.pr-xxl-4{padding-right:1.5rem!important}.pr-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:.25rem!important}.pl-xxl-2{padding-left:.5rem!important}.pl-xxl-3{padding-left:1rem!important}.pl-xxl-4{padding-left:1.5rem!important}.pl-xxl-5{padding-left:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
+ */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x)/ -2);margin-left:calc(var(--bs-gutter-x)/ -2)}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.3333333333%}.col-xxl-2{flex:0 0 auto;width:16.6666666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.3333333333%}.col-xxl-5{flex:0 0 auto;width:41.6666666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.3333333333%}.col-xxl-8{flex:0 0 auto;width:66.6666666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.3333333333%}.col-xxl-11{flex:0 0 auto;width:91.6666666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.3333333333%}.offset-xxl-2{margin-left:16.6666666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.3333333333%}.offset-xxl-5{margin-left:41.6666666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.3333333333%}.offset-xxl-8{margin-left:66.6666666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.3333333333%}.offset-xxl-11{margin-left:91.6666666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:.25rem!important}.mr-xxl-2{margin-right:.5rem!important}.mr-xxl-3{margin-right:1rem!important}.mr-xxl-4{margin-right:1.5rem!important}.mr-xxl-5{margin-right:3rem!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:.25rem!important}.ml-xxl-2{margin-left:.5rem!important}.ml-xxl-3{margin-left:1rem!important}.ml-xxl-4{margin-left:1.5rem!important}.ml-xxl-5{margin-left:3rem!important}.ml-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:.25rem!important}.pr-xxl-2{padding-right:.5rem!important}.pr-xxl-3{padding-right:1rem!important}.pr-xxl-4{padding-right:1.5rem!important}.pr-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:.25rem!important}.pl-xxl-2{padding-left:.5rem!important}.pl-xxl-3{padding-left:1rem!important}.pl-xxl-4{padding-left:1.5rem!important}.pl-xxl-5{padding-left:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.min.css.map b/dist/css/bootstrap-grid.min.css.map
index c80f6e69b1..91f9c0a7e8 100644
--- a/dist/css/bootstrap-grid.min.css.map
+++ b/dist/css/bootstrap-grid.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n@media (min-width: 1400px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {\n max-width: 1320px;\n }\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --bs-gutter-x: #{$gutter};\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--bs-gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\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: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof 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: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\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 --bs-gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --bs-gutter-y: #{$value};\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.3333333333%;\n}\n\n.offset-2 {\n margin-left: 16.6666666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.3333333333%;\n}\n\n.offset-5 {\n margin-left: 41.6666666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.3333333333%;\n}\n\n.offset-8 {\n margin-left: 66.6666666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.3333333333%;\n}\n\n.offset-11 {\n margin-left: 91.6666666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-sm-5,\n.gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-md-5,\n.gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-lg-5,\n.gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xl-5,\n.gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n\n .mr-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ml-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .mr-md-0 {\n margin-right: 0 !important;\n }\n\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n\n .mr-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ml-md-0 {\n margin-left: 0 !important;\n }\n\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n\n .ml-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pr-md-0 {\n padding-right: 0 !important;\n }\n\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-md-0 {\n padding-left: 0 !important;\n }\n\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n\n .mr-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ml-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\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: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof 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: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css
index a93aaa3d8f..712e68dce3 100644
--- a/dist/css/bootstrap-reboot.css
+++ b/dist/css/bootstrap-reboot.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap Reboot v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -45,7 +45,7 @@ hr:not([size]) {
height: 1px;
}
-h1, h2, h3, h4, h5, h6 {
+h6, h5, h4, h3, h2, h1 {
margin-top: 0;
margin-bottom: 0.5rem;
font-weight: 500;
@@ -55,7 +55,6 @@ h1, h2, h3, h4, h5, h6 {
h1 {
font-size: calc(1.375rem + 1.5vw);
}
-
@media (min-width: 1200px) {
h1 {
font-size: 2.5rem;
@@ -65,7 +64,6 @@ h1 {
h2 {
font-size: calc(1.325rem + 0.9vw);
}
-
@media (min-width: 1200px) {
h2 {
font-size: 2rem;
@@ -75,7 +73,6 @@ h2 {
h3 {
font-size: calc(1.3rem + 0.6vw);
}
-
@media (min-width: 1200px) {
h3 {
font-size: 1.75rem;
@@ -85,7 +82,6 @@ h3 {
h4 {
font-size: calc(1.275rem + 0.3vw);
}
-
@media (min-width: 1200px) {
h4 {
font-size: 1.5rem;
@@ -145,7 +141,7 @@ dt {
}
dd {
- margin-bottom: .5rem;
+ margin-bottom: 0.5rem;
margin-left: 0;
}
@@ -176,18 +172,17 @@ sup {
}
sub {
- bottom: -.25em;
+ bottom: -0.25em;
}
sup {
- top: -.5em;
+ top: -0.5em;
}
a {
color: #0d6efd;
text-decoration: underline;
}
-
a:hover {
color: #0a58ca;
}
@@ -211,9 +206,7 @@ pre {
margin-bottom: 1rem;
overflow: auto;
font-size: 0.875em;
- -ms-overflow-style: scrollbar;
}
-
pre code {
font-size: inherit;
color: inherit;
@@ -225,7 +218,6 @@ code {
color: #d63384;
word-wrap: break-word;
}
-
a > code {
color: inherit;
}
@@ -237,7 +229,6 @@ kbd {
background-color: #212529;
border-radius: 0.2rem;
}
-
kbd kbd {
padding: 0;
font-size: 1em;
@@ -290,8 +281,8 @@ button {
}
button:focus {
- outline: 1px dotted;
- outline: 5px auto -webkit-focus-ring-color;
+ outline: dotted 1px;
+ outline: -webkit-focus-ring-color auto 5px;
}
input,
@@ -306,16 +297,11 @@ textarea {
}
button,
-input {
- overflow: visible;
-}
-
-button,
select {
text-transform: none;
}
-[role="button"] {
+[role=button] {
cursor: pointer;
}
@@ -328,16 +314,15 @@ select {
}
button,
-[type="button"],
-[type="reset"],
-[type="submit"] {
+[type=button],
+[type=reset],
+[type=submit] {
-webkit-appearance: button;
}
-
button:not(:disabled),
-[type="button"]:not(:disabled),
-[type="reset"]:not(:disabled),
-[type="submit"]:not(:disabled) {
+[type=button]:not(:disabled),
+[type=reset]:not(:disabled),
+[type=submit]:not(:disabled) {
cursor: pointer;
}
@@ -364,15 +349,12 @@ legend {
margin-bottom: 0.5rem;
font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
- white-space: normal;
}
-
@media (min-width: 1200px) {
legend {
font-size: 1.5rem;
}
}
-
legend + * {
clear: left;
}
@@ -391,7 +373,7 @@ legend + * {
height: auto;
}
-[type="search"] {
+[type=search] {
outline-offset: -2px;
-webkit-appearance: textfield;
}
@@ -404,6 +386,10 @@ legend + * {
padding: 0;
}
+::file-selector-button {
+ font: inherit;
+}
+
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
@@ -429,4 +415,5 @@ progress {
[hidden] {
display: none !important;
}
+
/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map
index 03a7fd7185..9dbbd8deb5 100644
--- a/dist/css/bootstrap-reboot.css.map
+++ b/dist/css/bootstrap-reboot.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/_functions.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACSF;;;EAGE,sBAAsB;ADPxB;;ACoBI;EAJJ;IAKM,uBAAuB;EDhB3B;AACF;;AC4BA;EACE,SAAS;EACT,4MC4V2N;EChJvN,eAvE+B;EFnInC,gBCyW+B;EDxW/B,gBC8W+B;ED7W/B,cCnCgB;EDqChB,sBC9Ca;ED+Cb,8BAA8B;EAC9B,6CCtCa;AFYf;;AAEA;ECsCE,qBAAqB;ADpCvB;;AC6CA;EACE,cAAsB;EACtB,cC4YmC;ED3YnC,8BAA8B;EAC9B,SAAS;EACT,aC2Y+B;AFrbjC;;AC6CA;EACE,WCmQ+B;AF7SjC;;ACoDA;EACE,aAAa;EACb,qBCmVuC;EDhVvC,gBCmV+B;EDlV/B,gBCmV+B;AFtYjC;;ACuDA;EEoJQ,iCAf6B;AHxLrC;;AGqCI;EFcJ;IE2JQ,iBAlF6B;EHvHnC;AACF;;ACkDA;EE+IQ,iCAf6B;AH9KrC;;AG2BI;EFmBJ;IEsJQ,eAlF6B;EH7GnC;AACF;;AC6CA;EE0IQ,+BAf6B;AHpKrC;;AGiBI;EFwBJ;IEiJQ,kBAlF6B;EHnGnC;AACF;;ACwCA;EEqIQ,iCAf6B;AH1JrC;;AGOI;EF6BJ;IE4IQ,iBAlF6B;EHzFnC;AACF;;ACmCA;EE4HM,kBAvE+B;AHpFrC;;ACoCA;EEuHM,eAvE+B;AHhFrC;;AC2CA;EACE,aAAa;EACb,mBC8I8B;AFtLhC;;ACmDA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;ADhDhC;;ACsDA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADnDtB;;ACyDA;;EAEE,kBAAkB;ADtDpB;;ACyDA;;;EAGE,aAAa;EACb,mBAAmB;ADtDrB;;ACyDA;;;;EAIE,gBAAgB;ADtDlB;;ACyDA;EACE,gBCuN+B;AF7QjC;;AC2DA;EACE,oBAAoB;EACpB,cAAc;ADxDhB;;AC8DA;EACE,gBAAgB;AD3DlB;;ACmEA;;EAEE,mBCgMkC;AFhQpC;;ACwEA;EEuBM,kBAvE+B;AHpBrC;;AC2EA;EACE,cCwPgC;EDvPhC,yBC+PmC;AFvUrC;;ACiFA;;EAEE,kBAAkB;EEGd,iBAvE+B;EFsEnC,cAAc;EACd,wBAAwB;AD9E1B;;ACiFA;EAAM,cAAc;AD7EpB;;AC8EA;EAAM,UAAU;AD1EhB;;AC+EA;EACE,cCpOe;EDqOf,0BCaiD;AFzFnD;;AC0EA;EAKI,cGzGiC;AJ8BrC;;ACqFA;EAGI,cAAc;EACd,qBAAqB;ADpFzB;;AC2FA;;;;EAIE,iGC0GgH;ECjJ5G,cAvE+B;AHuBrC;;ACiGA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EErDV,kBAvE+B;EF+HnC,6BAA6B;AD/F/B;;ACwFA;EEjDM,kBAvE+B;EFoIjC,cAAc;EACd,kBAAkB;AD/FtB;;ACmGA;EElEM,kBAvE+B;EF2InC,cC3Re;ED4Rf,qBAAqB;ADhGvB;;ACmGE;EACE,cAAc;ADhGlB;;ACoGA;EACE,sBCo+BuC;ECljCnC,kBAvE+B;EFuJnC,WCpUa;EDqUb,yBC5TgB;EGEd,qBH4U+B;AFlHnC;;AC4FA;EAQI,UAAU;EErFR,cAvE+B;EF8JjC,gBCyE6B;AFzKjC;;ACyGA;EACE,gBAAgB;ADtGlB;;AC4GA;;EAEE,sBAAsB;ADzGxB;;ACiHA;EACE,oBAAoB;EACpB,yBAAyB;AD9G3B;;ACiHA;EACE,mBCkIiC;EDjIjC,sBCiIiC;EDhIjC,cCvWgB;EDwWhB,gBAAgB;AD9GlB;;ACqHA;EAEE,mBAAmB;EACnB,gCAAgC;ADnHlC;;ACsHA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;ADnHjB;;AC2HA;EACE,qBAAqB;ADxHvB;;AC8HA;EAEE,gBAAgB;AD5HlB;;ACmIA;EACE,mBAAmB;EACnB,0CAA0C;ADhI5C;;ACqIA;;;;;EAKE,SAAS;EACT,oBAAoB;EEpLhB,kBAvE+B;EF6PnC,oBAAoB;ADlItB;;ACuIA;;EAEE,iBAAiB;ADpInB;;ACyIA;;EAEE,oBAAoB;ADtItB;;AAEA;EC2IE,eAAe;ADzIjB;;AC+IA;EACE,iBAAiB;AD5InB;;AAEA;ECiJE,aAAa;AD/If;;ACuJA;;;;EAIE,0BAA0B;ADpJ5B;;ACgJA;;;;EAQM,eAAe;ADjJrB;;ACwJA;EACE,UAAU;EACV,kBAAkB;ADrJpB;;AC0JA;EACE,gBAAgB;ADvJlB;;ACiKA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AD9JX;;ACuKA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC9CiC;ECjO3B,iCAf6B;EFiSnC,oBAAoB;EACpB,mBAAmB;ADrKrB;;AGhRI;EF6aJ;IEpQQ,iBAlF6B;EH8LnC;AACF;;ACuJA;EAWI,WAAW;AD9Jf;;ACqKA;;;;;;;EAOE,UAAU;ADlKZ;;ACqKA;EACE,YAAY;ADlKd;;AAEA;EC0KE,oBAAoB;EACpB,6BAA6B;ADxK/B;;AC6KA;EACE,wBAAwB;AD1K1B;;AC+KA;EACE,UAAU;AD5KZ;;ACkLA;EACE,aAAa;EACb,0BAA0B;AD/K5B;;ACoLA;EACE,qBAAqB;ADjLvB;;ACsLA;EACE,SAAS;ADnLX;;AC0LA;EACE,kBAAkB;EAClB,eAAe;ADvLjB;;AC+LA;EACE,wBAAwB;AD5L1B;;AAEA;ECmME,wBAAwB;ADjM1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n// Prevent the usage of custom properties since we don't add them to `:root` in reboot\n$font-family-base: $font-family-sans-serif; // stylelint-disable-line scss/dollar-variable-default\n$font-family-code: $font-family-monospace; // stylelint-disable-line scss/dollar-variable-default\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n// 4. Disable auto-hiding scrollbar in legacy Edge to avoid overlap,\n// making it impossible to interact with the content\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n -ms-overflow-style: scrollbar; // 4\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\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// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. 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\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\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. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !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$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: scale-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n$headings-margin-bottom: $spacer / 2 !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: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n\n$table-variants: (\n \"primary\": scale-color($primary, $table-bg-scale),\n \"secondary\": scale-color($secondary, $table-bg-scale),\n \"success\": scale-color($success, $table-bg-scale),\n \"info\": scale-color($info, $table-bg-scale),\n \"warning\": scale-color($warning, $table-bg-scale),\n \"danger\": scale-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.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.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><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\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 50% !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 50% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><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 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><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-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$btn-close-color}' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n// See https://github.com/twbs/bootstrap/pull/30168\n\n// A list of pre-calculated numbers of pow(($value / 255 + .055) / 1.055, 2.4). (from 0 to 255)\n// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern\n$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;\n\n@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {\n $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black;\n $max-ratio: 0;\n $max-ratio-color: null;\n\n @each $color in $foregrounds {\n $contrast-ratio: contrast-ratio($background, $color);\n @if $contrast-ratio > $min-contrast-ratio {\n @return $color;\n } @else if $contrast-ratio > $max-ratio {\n $max-ratio: $contrast-ratio;\n $max-ratio-color: $color;\n }\n }\n\n @warn \"Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...\";\n\n @return $max-ratio-color;\n}\n\n@function contrast-ratio($background, $foreground: $color-contrast-light) {\n $l1: luminance($background);\n $l2: luminance(opaque($background, $foreground));\n\n @return if($l1 > $l2, ($l1 + .05) / ($l2 + .05), ($l2 + .05) / ($l1 + .05));\n}\n\n// Return WCAG2.0 relative luminance\n// See https://www.w3.org/WAI/GL/wiki/Relative_luminance\n// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n@function luminance($color) {\n $rgb: (\n \"r\": red($color),\n \"g\": green($color),\n \"b\": blue($color)\n );\n\n @each $name, $value in $rgb {\n $value: if($value / 255 < .03928, $value / 255 / 12.92, nth($_luminance-list, $value + 1));\n $rgb: map-merge($rgb, ($name: $value));\n }\n\n @return (map-get($rgb, \"r\") * .2126) + (map-get($rgb, \"g\") * .7152) + (map-get($rgb, \"b\") * .0722);\n}\n\n// Return opaque color\n// opaque(#fff, rgba(0, 0, 0, .5)) => #808080\n@function opaque($background, $foreground) {\n @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);\n}\n\n// scss-docs-start color-functions\n// Tint a color: mix a color with white\n@function tint-color($color, $weight) {\n @return mix(white, $color, $weight);\n}\n\n// Shade a color: mix a color with black\n@function shade-color($color, $weight) {\n @return mix(black, $color, $weight);\n}\n\n// Scale a color:\n// Shade the color if the weight is positive, else tint it\n@function scale-color($color, $weight) {\n @return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));\n}\n// scss-docs-end color-functions\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\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 type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;EAAA;ACeA;;;EAGE,sBAAA;ACPF;;ADoBI;EAJJ;IAKM,uBAAA;EChBJ;AACF;;AD4BA;EACE,SAAA;EACA,4ME4V4B;EChJxB,eALI;EHrMR,gBEyW4B;EFxW5B,gBE8W4B;EF7W5B,cEnCS;EFqCT,sBE9CS;EF+CT,8BAAA;EACA,6CAAA;AC1BF;;ADuCA;EACE,qBAAA;ACpCF;;AD6CA;EACE,cAAA;EACA,cE4Y4B;EF3Y5B,8BAAA;EACA,SAAA;EACA,aE2Y4B;ADrb9B;;AD6CA;EACE,WEmQ4B;AD7S9B;;ADoDA;EACE,aAAA;EACA,qBEmV4B;EFhV5B,gBEmV4B;EFlV5B,gBEmV4B;ADtY9B;;ADuDA;EGoJQ,iCAAA;AFvMR;AEqCI;EHcJ;IG2JQ,iBAAA;EF1MN;AACF;;ADmDA;EG+IQ,iCAAA;AF9LR;AE4BI;EHmBJ;IGsJQ,eAAA;EFjMN;AACF;;AD+CA;EG0IQ,+BAAA;AFrLR;AEmBI;EHwBJ;IGiJQ,kBAAA;EFxLN;AACF;;AD2CA;EGqIQ,iCAAA;AF5KR;AEUI;EH6BJ;IG4IQ,iBAAA;EF/KN;AACF;;ADuCA;EG4HM,kBALI;AF1JV;;ADwCA;EGuHM,eALI;AFtJV;;AD+CA;EACE,aAAA;EACA,mBE8I0B;AD1L5B;;ADuDA;;EAEE,0BAAA;EACA,yCAAA;EAAA,iCAAA;EACA,YAAA;EACA,sCAAA;EAAA,8BAAA;ACpDF;;AD0DA;EACE,mBAAA;EACA,kBAAA;EACA,oBAAA;ACvDF;;AD6DA;;EAEE,kBAAA;AC1DF;;AD6DA;;;EAGE,aAAA;EACA,mBAAA;AC1DF;;AD6DA;;;;EAIE,gBAAA;AC1DF;;AD6DA;EACE,gBEuN4B;ADjR9B;;AD+DA;EACE,qBAAA;EACA,cAAA;AC5DF;;ADkEA;EACE,gBAAA;AC/DF;;ADuEA;;EAEE,mBEgM4B;ADpQ9B;;AD4EA;EGuBM,kBALI;AF1FV;;AD+EA;EACE,cEwP4B;EFvP5B,yBE+P4B;AD3U9B;;ADqFA;;EAEE,kBAAA;EGGI,iBALI;EHIR,cAAA;EACA,wBAAA;AClFF;;ADqFA;EAAM,eAAA;ACjFN;;ADkFA;EAAM,WAAA;AC9EN;;ADmFA;EACE,cEpOQ;EFqOR,0BEawC;AD7F1C;ADkFE;EACE,cEYsC;AD5F1C;;AD2FE;EAEE,cAAA;EACA,qBAAA;ACzFJ;;ADgGA;;;;EAIE,iGE0G4B;ECjJxB,cALI;AFhDV;;ADoGA;EACE,cAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;EGnDI,kBALI;AFxCV;ADqGE;EGxDI,kBALI;EH+DN,cAAA;EACA,kBAAA;ACnGJ;;ADuGA;EG/DM,kBALI;EHsER,cExRQ;EFyRR,qBAAA;ACpGF;ADuGE;EACE,cAAA;ACrGJ;;ADyGA;EACE,sBAAA;EG3EI,kBALI;EHkFR,WEjUS;EFkUT,yBEzTS;EEEP,qBAAA;AHkNJ;ADwGE;EACE,UAAA;EGlFE,cALI;EHyFN,gBE4E0B;ADlL9B;;AD+GA;EACE,gBAAA;AC5GF;;ADkHA;;EAEE,sBAAA;AC/GF;;ADuHA;EACE,oBAAA;EACA,yBAAA;ACpHF;;ADuHA;EACE,mBEqI4B;EFpI5B,sBEoI4B;EFnI5B,cEpWS;EFqWT,gBAAA;ACpHF;;AD2HA;EAEE,mBAAA;EACA,gCAAA;ACzHF;;AD4HA;;;;;;EAME,qBAAA;EACA,mBAAA;EACA,eAAA;ACzHF;;ADiIA;EACE,qBAAA;AC9HF;;ADoIA;EAEE,gBAAA;AClIF;;ADyIA;EACE,mBAAA;EACA,0CAAA;ACtIF;;AD2IA;;;;;EAKE,SAAA;EACA,oBAAA;EGjLI,kBALI;EHwLR,oBAAA;ACxIF;;AD6IA;;EAEE,oBAAA;AC1IF;;ADgJA;EACE,eAAA;AC7IF;;ADmJA;EACE,iBAAA;AChJF;;ADsJA;EACE,aAAA;ACnJF;;AD2JA;;;;EAIE,0BAAA;ACxJF;AD2JI;;;;EACE,eAAA;ACtJN;;AD6JA;EACE,UAAA;EACA,kBAAA;AC1JF;;AD+JA;EACE,gBAAA;AC5JF;;ADsKA;EACE,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;ACnKF;;AD2KA;EACE,WAAA;EACA,WAAA;EACA,UAAA;EACA,qBEnC4B;ECjOtB,iCAAA;EHuQN,oBAAA;ACzKF;AEhQI;EHkaJ;IGzPQ,iBAAA;EF2FN;AACF;ADsKE;EACE,WAAA;ACpKJ;;AD2KA;;;;;;;EAOE,UAAA;ACxKF;;AD2KA;EACE,YAAA;ACxKF;;ADiLA;EACE,oBAAA;EACA,6BAAA;AC9KF;;ADmLA;EACE,wBAAA;AChLF;;ADqLA;EACE,UAAA;AClLF;;ADyLA;EACE,aAAA;ACtLF;;AD4LA;EACE,aAAA;EACA,0BAAA;ACzLF;;AD8LA;EACE,qBAAA;AC3LF;;ADgMA;EACE,SAAA;AC7LF;;ADoMA;EACE,kBAAA;EACA,eAAA;ACjMF;;ADyMA;EACE,wBAAA;ACtMF;;AD8MA;EACE,wBAAA;AC3MF","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n// Prevent the usage of custom properties since we don't add them to `:root` in reboot\n$font-family-base: $font-family-sans-serif; // stylelint-disable-line scss/dollar-variable-default\n$font-family-code: $font-family-monospace; // stylelint-disable-line scss/dollar-variable-default\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: dotted 1px;\n outline: -webkit-focus-ring-color auto 5px;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\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// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: left; // 2\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. 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\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n\n// Inherit font family and line height for file input buttons\n\n// stylelint-disable-next-line selector-pseudo-element-no-unknown\n::file-selector-button {\n font: inherit;\n}\n\n// 1. Change font properties to `inherit`\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh6, h5, h4, h3, h2, h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: dotted 1px;\n outline: -webkit-focus-ring-color auto 5px;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !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$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: scale-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n$headings-margin-bottom: $spacer / 2 !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: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n\n$table-variants: (\n \"primary\": scale-color($primary, $table-bg-scale),\n \"secondary\": scale-color($secondary, $table-bg-scale),\n \"success\": scale-color($success, $table-bg-scale),\n \"info\": scale-color($info, $table-bg-scale),\n \"warning\": scale-color($warning, $table-bg-scale),\n \"danger\": scale-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.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.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n// Accordion\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default;\n$accordion-bg: transparent !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: rgba($black, .125) !default;\n$accordion-border-radius: $border-radius !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: $accordion-bg !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.min.css b/dist/css/bootstrap-reboot.min.css
index 0e8e352bfd..ca7e9280e1 100644
--- a/dist/css/bootstrap-reboot.min.css
+++ b/dist/css/bootstrap-reboot.min.css
@@ -1,8 +1,8 @@
/*!
- * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap Reboot v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
- */*,::after,::before{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#024dbc}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;-ms-overflow-style:scrollbar}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit;white-space:normal}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
+ */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.min.css.map b/dist/css/bootstrap-reboot.min.css.map
index 5da11b7914..938e17b365 100644
--- a/dist/css/bootstrap-reboot.min.css.map
+++ b/dist/css/bootstrap-reboot.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n// Prevent the usage of custom properties since we don't add them to `:root` in reboot\n$font-family-base: $font-family-sans-serif; // stylelint-disable-line scss/dollar-variable-default\n$font-family-code: $font-family-monospace; // stylelint-disable-line scss/dollar-variable-default\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\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\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n// 4. Disable auto-hiding scrollbar in legacy Edge to avoid overlap,\n// making it impossible to interact with the content\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n -ms-overflow-style: scrollbar; // 4\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\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// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. 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\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\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. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","/*!\n * Bootstrap Reboot v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n// Prevent the usage of custom properties since we don't add them to `:root` in reboot\n$font-family-base: $font-family-sans-serif; // stylelint-disable-line scss/dollar-variable-default\n$font-family-code: $font-family-monospace; // stylelint-disable-line scss/dollar-variable-default\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: dotted 1px;\n outline: -webkit-focus-ring-color auto 5px;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\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// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: left; // 2\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. 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\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n\n// Inherit font family and line height for file input buttons\n\n// stylelint-disable-next-line selector-pseudo-element-no-unknown\n::file-selector-button {\n font: inherit;\n}\n\n// 1. Change font properties to `inherit`\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh6, h5, h4, h3, h2, h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: dotted 1px;\n outline: -webkit-focus-ring-color auto 5px;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.css b/dist/css/bootstrap-utilities.css
index d76852d306..472e1368e7 100644
--- a/dist/css/bootstrap-utilities.css
+++ b/dist/css/bootstrap-utilities.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap Utilities v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap Utilities v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -68,6 +68,10 @@
display: block !important;
}
+.d-grid {
+ display: grid !important;
+}
+
.d-table {
display: table !important;
}
@@ -393,6 +397,30 @@
flex-wrap: wrap-reverse !important;
}
+.gap-0 {
+ gap: 0 !important;
+}
+
+.gap-1 {
+ gap: 0.25rem !important;
+}
+
+.gap-2 {
+ gap: 0.5rem !important;
+}
+
+.gap-3 {
+ gap: 1rem !important;
+}
+
+.gap-4 {
+ gap: 1.5rem !important;
+}
+
+.gap-5 {
+ gap: 3rem !important;
+}
+
.justify-content-start {
justify-content: flex-start !important;
}
@@ -939,23 +967,23 @@
font-style: normal !important;
}
-.font-weight-light {
+.fw-light {
font-weight: 300 !important;
}
-.font-weight-lighter {
+.fw-lighter {
font-weight: lighter !important;
}
-.font-weight-normal {
+.fw-normal {
font-weight: 400 !important;
}
-.font-weight-bold {
+.fw-bold {
font-weight: 700 !important;
}
-.font-weight-bolder {
+.fw-bolder {
font-weight: bolder !important;
}
@@ -1135,21 +1163,18 @@
.user-select-all {
-webkit-user-select: all !important;
-moz-user-select: all !important;
- -ms-user-select: all !important;
user-select: all !important;
}
.user-select-auto {
-webkit-user-select: auto !important;
-moz-user-select: auto !important;
- -ms-user-select: auto !important;
user-select: auto !important;
}
.user-select-none {
-webkit-user-select: none !important;
-moz-user-select: none !important;
- -ms-user-select: none !important;
user-select: none !important;
}
@@ -1165,11 +1190,19 @@
border-radius: 0.25rem !important;
}
-.rounded-sm {
+.rounded-0 {
+ border-radius: 0 !important;
+}
+
+.rounded-1 {
border-radius: 0.2rem !important;
}
-.rounded-lg {
+.rounded-2 {
+ border-radius: 0.25rem !important;
+}
+
+.rounded-3 {
border-radius: 0.3rem !important;
}
@@ -1181,10 +1214,6 @@
border-radius: 50rem !important;
}
-.rounded-0 {
- border-radius: 0 !important;
-}
-
.rounded-top {
border-top-left-radius: 0.25rem !important;
border-top-right-radius: 0.25rem !important;
@@ -1217,2460 +1246,3362 @@
.float-sm-left {
float: left !important;
}
+
.float-sm-right {
float: right !important;
}
+
.float-sm-none {
float: none !important;
}
+
.d-sm-inline {
display: inline !important;
}
+
.d-sm-inline-block {
display: inline-block !important;
}
+
.d-sm-block {
display: block !important;
}
+
+ .d-sm-grid {
+ display: grid !important;
+ }
+
.d-sm-table {
display: table !important;
}
+
.d-sm-table-row {
display: table-row !important;
}
+
.d-sm-table-cell {
display: table-cell !important;
}
+
.d-sm-flex {
display: flex !important;
}
+
.d-sm-inline-flex {
display: inline-flex !important;
}
+
.d-sm-none {
display: none !important;
}
+
.flex-sm-fill {
flex: 1 1 auto !important;
}
+
.flex-sm-row {
flex-direction: row !important;
}
+
.flex-sm-column {
flex-direction: column !important;
}
+
.flex-sm-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-sm-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-sm-grow-0 {
flex-grow: 0 !important;
}
+
.flex-sm-grow-1 {
flex-grow: 1 !important;
}
+
.flex-sm-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-sm-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-sm-wrap {
flex-wrap: wrap !important;
}
+
.flex-sm-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-sm-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-sm-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-sm-start {
justify-content: flex-start !important;
}
+
.justify-content-sm-end {
justify-content: flex-end !important;
}
+
.justify-content-sm-center {
justify-content: center !important;
}
+
.justify-content-sm-between {
justify-content: space-between !important;
}
+
.justify-content-sm-around {
justify-content: space-around !important;
}
+
.justify-content-sm-evenly {
justify-content: space-evenly !important;
}
+
.align-items-sm-start {
align-items: flex-start !important;
}
+
.align-items-sm-end {
align-items: flex-end !important;
}
+
.align-items-sm-center {
align-items: center !important;
}
+
.align-items-sm-baseline {
align-items: baseline !important;
}
+
.align-items-sm-stretch {
align-items: stretch !important;
}
+
.align-content-sm-start {
align-content: flex-start !important;
}
+
.align-content-sm-end {
align-content: flex-end !important;
}
+
.align-content-sm-center {
align-content: center !important;
}
+
.align-content-sm-between {
align-content: space-between !important;
}
+
.align-content-sm-around {
align-content: space-around !important;
}
+
.align-content-sm-stretch {
align-content: stretch !important;
}
+
.align-self-sm-auto {
align-self: auto !important;
}
+
.align-self-sm-start {
align-self: flex-start !important;
}
+
.align-self-sm-end {
align-self: flex-end !important;
}
+
.align-self-sm-center {
align-self: center !important;
}
+
.align-self-sm-baseline {
align-self: baseline !important;
}
+
.align-self-sm-stretch {
align-self: stretch !important;
}
+
.order-sm-first {
order: -1 !important;
}
+
.order-sm-0 {
order: 0 !important;
}
+
.order-sm-1 {
order: 1 !important;
}
+
.order-sm-2 {
order: 2 !important;
}
+
.order-sm-3 {
order: 3 !important;
}
+
.order-sm-4 {
order: 4 !important;
}
+
.order-sm-5 {
order: 5 !important;
}
+
.order-sm-last {
order: 6 !important;
}
+
.m-sm-0 {
margin: 0 !important;
}
+
.m-sm-1 {
margin: 0.25rem !important;
}
+
.m-sm-2 {
margin: 0.5rem !important;
}
+
.m-sm-3 {
margin: 1rem !important;
}
+
.m-sm-4 {
margin: 1.5rem !important;
}
+
.m-sm-5 {
margin: 3rem !important;
}
+
.m-sm-auto {
margin: auto !important;
}
+
.mx-sm-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-sm-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-sm-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-sm-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-sm-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-sm-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-sm-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-sm-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-sm-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-sm-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-sm-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-sm-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-sm-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-sm-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-sm-0 {
margin-top: 0 !important;
}
+
.mt-sm-1 {
margin-top: 0.25rem !important;
}
+
.mt-sm-2 {
margin-top: 0.5rem !important;
}
+
.mt-sm-3 {
margin-top: 1rem !important;
}
+
.mt-sm-4 {
margin-top: 1.5rem !important;
}
+
.mt-sm-5 {
margin-top: 3rem !important;
}
+
.mt-sm-auto {
margin-top: auto !important;
}
+
.mr-sm-0 {
margin-right: 0 !important;
}
+
.mr-sm-1 {
margin-right: 0.25rem !important;
}
+
.mr-sm-2 {
margin-right: 0.5rem !important;
}
+
.mr-sm-3 {
margin-right: 1rem !important;
}
+
.mr-sm-4 {
margin-right: 1.5rem !important;
}
+
.mr-sm-5 {
margin-right: 3rem !important;
}
+
.mr-sm-auto {
margin-right: auto !important;
}
+
.mb-sm-0 {
margin-bottom: 0 !important;
}
+
.mb-sm-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-sm-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-sm-3 {
margin-bottom: 1rem !important;
}
+
.mb-sm-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-sm-5 {
margin-bottom: 3rem !important;
}
+
.mb-sm-auto {
margin-bottom: auto !important;
}
+
.ml-sm-0 {
margin-left: 0 !important;
}
+
.ml-sm-1 {
margin-left: 0.25rem !important;
}
+
.ml-sm-2 {
margin-left: 0.5rem !important;
}
+
.ml-sm-3 {
margin-left: 1rem !important;
}
+
.ml-sm-4 {
margin-left: 1.5rem !important;
}
+
.ml-sm-5 {
margin-left: 3rem !important;
}
+
.ml-sm-auto {
margin-left: auto !important;
}
+
.p-sm-0 {
padding: 0 !important;
}
+
.p-sm-1 {
padding: 0.25rem !important;
}
+
.p-sm-2 {
padding: 0.5rem !important;
}
+
.p-sm-3 {
padding: 1rem !important;
}
+
.p-sm-4 {
padding: 1.5rem !important;
}
+
.p-sm-5 {
padding: 3rem !important;
}
+
.px-sm-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-sm-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-sm-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-sm-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-sm-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-sm-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-sm-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-sm-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-sm-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-sm-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-sm-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-sm-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-sm-0 {
padding-top: 0 !important;
}
+
.pt-sm-1 {
padding-top: 0.25rem !important;
}
+
.pt-sm-2 {
padding-top: 0.5rem !important;
}
+
.pt-sm-3 {
padding-top: 1rem !important;
}
+
.pt-sm-4 {
padding-top: 1.5rem !important;
}
+
.pt-sm-5 {
padding-top: 3rem !important;
}
+
.pr-sm-0 {
padding-right: 0 !important;
}
+
.pr-sm-1 {
padding-right: 0.25rem !important;
}
+
.pr-sm-2 {
padding-right: 0.5rem !important;
}
+
.pr-sm-3 {
padding-right: 1rem !important;
}
+
.pr-sm-4 {
padding-right: 1.5rem !important;
}
+
.pr-sm-5 {
padding-right: 3rem !important;
}
+
.pb-sm-0 {
padding-bottom: 0 !important;
}
+
.pb-sm-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-sm-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-sm-3 {
padding-bottom: 1rem !important;
}
+
.pb-sm-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-sm-5 {
padding-bottom: 3rem !important;
}
+
.pl-sm-0 {
padding-left: 0 !important;
}
+
.pl-sm-1 {
padding-left: 0.25rem !important;
}
+
.pl-sm-2 {
padding-left: 0.5rem !important;
}
+
.pl-sm-3 {
padding-left: 1rem !important;
}
+
.pl-sm-4 {
padding-left: 1.5rem !important;
}
+
.pl-sm-5 {
padding-left: 3rem !important;
}
+
.text-sm-left {
text-align: left !important;
}
+
.text-sm-right {
text-align: right !important;
}
+
.text-sm-center {
text-align: center !important;
}
}
-
@media (min-width: 768px) {
.float-md-left {
float: left !important;
}
+
.float-md-right {
float: right !important;
}
+
.float-md-none {
float: none !important;
}
+
.d-md-inline {
display: inline !important;
}
+
.d-md-inline-block {
display: inline-block !important;
}
+
.d-md-block {
display: block !important;
}
+
+ .d-md-grid {
+ display: grid !important;
+ }
+
.d-md-table {
display: table !important;
}
+
.d-md-table-row {
display: table-row !important;
}
+
.d-md-table-cell {
display: table-cell !important;
}
+
.d-md-flex {
display: flex !important;
}
+
.d-md-inline-flex {
display: inline-flex !important;
}
+
.d-md-none {
display: none !important;
}
+
.flex-md-fill {
flex: 1 1 auto !important;
}
+
.flex-md-row {
flex-direction: row !important;
}
+
.flex-md-column {
flex-direction: column !important;
}
+
.flex-md-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-md-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-md-grow-0 {
flex-grow: 0 !important;
}
+
.flex-md-grow-1 {
flex-grow: 1 !important;
}
+
.flex-md-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-md-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-md-wrap {
flex-wrap: wrap !important;
}
+
.flex-md-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-md-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-md-0 {
+ gap: 0 !important;
+ }
+
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-md-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-md-start {
justify-content: flex-start !important;
}
+
.justify-content-md-end {
justify-content: flex-end !important;
}
+
.justify-content-md-center {
justify-content: center !important;
}
+
.justify-content-md-between {
justify-content: space-between !important;
}
+
.justify-content-md-around {
justify-content: space-around !important;
}
+
.justify-content-md-evenly {
justify-content: space-evenly !important;
}
+
.align-items-md-start {
align-items: flex-start !important;
}
+
.align-items-md-end {
align-items: flex-end !important;
}
+
.align-items-md-center {
align-items: center !important;
}
+
.align-items-md-baseline {
align-items: baseline !important;
}
+
.align-items-md-stretch {
align-items: stretch !important;
}
+
.align-content-md-start {
align-content: flex-start !important;
}
+
.align-content-md-end {
align-content: flex-end !important;
}
+
.align-content-md-center {
align-content: center !important;
}
+
.align-content-md-between {
align-content: space-between !important;
}
+
.align-content-md-around {
align-content: space-around !important;
}
+
.align-content-md-stretch {
align-content: stretch !important;
}
+
.align-self-md-auto {
align-self: auto !important;
}
+
.align-self-md-start {
align-self: flex-start !important;
}
+
.align-self-md-end {
align-self: flex-end !important;
}
+
.align-self-md-center {
align-self: center !important;
}
+
.align-self-md-baseline {
align-self: baseline !important;
}
+
.align-self-md-stretch {
align-self: stretch !important;
}
+
.order-md-first {
order: -1 !important;
}
+
.order-md-0 {
order: 0 !important;
}
+
.order-md-1 {
order: 1 !important;
}
+
.order-md-2 {
order: 2 !important;
}
+
.order-md-3 {
order: 3 !important;
}
+
.order-md-4 {
order: 4 !important;
}
+
.order-md-5 {
order: 5 !important;
}
+
.order-md-last {
order: 6 !important;
}
+
.m-md-0 {
margin: 0 !important;
}
+
.m-md-1 {
margin: 0.25rem !important;
}
+
.m-md-2 {
margin: 0.5rem !important;
}
+
.m-md-3 {
margin: 1rem !important;
}
+
.m-md-4 {
margin: 1.5rem !important;
}
+
.m-md-5 {
margin: 3rem !important;
}
+
.m-md-auto {
margin: auto !important;
}
+
.mx-md-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-md-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-md-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-md-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-md-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-md-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-md-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-md-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-md-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-md-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-md-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-md-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-md-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-md-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-md-0 {
margin-top: 0 !important;
}
+
.mt-md-1 {
margin-top: 0.25rem !important;
}
+
.mt-md-2 {
margin-top: 0.5rem !important;
}
+
.mt-md-3 {
margin-top: 1rem !important;
}
+
.mt-md-4 {
margin-top: 1.5rem !important;
}
+
.mt-md-5 {
margin-top: 3rem !important;
}
+
.mt-md-auto {
margin-top: auto !important;
}
+
.mr-md-0 {
margin-right: 0 !important;
}
+
.mr-md-1 {
margin-right: 0.25rem !important;
}
+
.mr-md-2 {
margin-right: 0.5rem !important;
}
+
.mr-md-3 {
margin-right: 1rem !important;
}
+
.mr-md-4 {
margin-right: 1.5rem !important;
}
+
.mr-md-5 {
margin-right: 3rem !important;
}
+
.mr-md-auto {
margin-right: auto !important;
}
+
.mb-md-0 {
margin-bottom: 0 !important;
}
+
.mb-md-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-md-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-md-3 {
margin-bottom: 1rem !important;
}
+
.mb-md-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-md-5 {
margin-bottom: 3rem !important;
}
+
.mb-md-auto {
margin-bottom: auto !important;
}
+
.ml-md-0 {
margin-left: 0 !important;
}
+
.ml-md-1 {
margin-left: 0.25rem !important;
}
+
.ml-md-2 {
margin-left: 0.5rem !important;
}
+
.ml-md-3 {
margin-left: 1rem !important;
}
+
.ml-md-4 {
margin-left: 1.5rem !important;
}
+
.ml-md-5 {
margin-left: 3rem !important;
}
+
.ml-md-auto {
margin-left: auto !important;
}
+
.p-md-0 {
padding: 0 !important;
}
+
.p-md-1 {
padding: 0.25rem !important;
}
+
.p-md-2 {
padding: 0.5rem !important;
}
+
.p-md-3 {
padding: 1rem !important;
}
+
.p-md-4 {
padding: 1.5rem !important;
}
+
.p-md-5 {
padding: 3rem !important;
}
+
.px-md-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-md-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-md-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-md-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-md-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-md-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-md-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-md-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-md-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-md-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-md-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-md-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-md-0 {
padding-top: 0 !important;
}
+
.pt-md-1 {
padding-top: 0.25rem !important;
}
+
.pt-md-2 {
padding-top: 0.5rem !important;
}
+
.pt-md-3 {
padding-top: 1rem !important;
}
+
.pt-md-4 {
padding-top: 1.5rem !important;
}
+
.pt-md-5 {
padding-top: 3rem !important;
}
+
.pr-md-0 {
padding-right: 0 !important;
}
+
.pr-md-1 {
padding-right: 0.25rem !important;
}
+
.pr-md-2 {
padding-right: 0.5rem !important;
}
+
.pr-md-3 {
padding-right: 1rem !important;
}
+
.pr-md-4 {
padding-right: 1.5rem !important;
}
+
.pr-md-5 {
padding-right: 3rem !important;
}
+
.pb-md-0 {
padding-bottom: 0 !important;
}
+
.pb-md-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-md-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-md-3 {
padding-bottom: 1rem !important;
}
+
.pb-md-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-md-5 {
padding-bottom: 3rem !important;
}
+
.pl-md-0 {
padding-left: 0 !important;
}
+
.pl-md-1 {
padding-left: 0.25rem !important;
}
+
.pl-md-2 {
padding-left: 0.5rem !important;
}
+
.pl-md-3 {
padding-left: 1rem !important;
}
+
.pl-md-4 {
padding-left: 1.5rem !important;
}
+
.pl-md-5 {
padding-left: 3rem !important;
}
+
.text-md-left {
text-align: left !important;
}
+
.text-md-right {
text-align: right !important;
}
+
.text-md-center {
text-align: center !important;
}
}
-
@media (min-width: 992px) {
.float-lg-left {
float: left !important;
}
+
.float-lg-right {
float: right !important;
}
+
.float-lg-none {
float: none !important;
}
+
.d-lg-inline {
display: inline !important;
}
+
.d-lg-inline-block {
display: inline-block !important;
}
+
.d-lg-block {
display: block !important;
}
+
+ .d-lg-grid {
+ display: grid !important;
+ }
+
.d-lg-table {
display: table !important;
}
+
.d-lg-table-row {
display: table-row !important;
}
+
.d-lg-table-cell {
display: table-cell !important;
}
+
.d-lg-flex {
display: flex !important;
}
+
.d-lg-inline-flex {
display: inline-flex !important;
}
+
.d-lg-none {
display: none !important;
}
+
.flex-lg-fill {
flex: 1 1 auto !important;
}
+
.flex-lg-row {
flex-direction: row !important;
}
+
.flex-lg-column {
flex-direction: column !important;
}
+
.flex-lg-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-lg-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-lg-grow-0 {
flex-grow: 0 !important;
}
+
.flex-lg-grow-1 {
flex-grow: 1 !important;
}
+
.flex-lg-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-lg-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-lg-wrap {
flex-wrap: wrap !important;
}
+
.flex-lg-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-lg-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-lg-0 {
+ gap: 0 !important;
+ }
+
+ .gap-lg-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-lg-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-lg-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-lg-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-lg-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-lg-start {
justify-content: flex-start !important;
}
+
.justify-content-lg-end {
justify-content: flex-end !important;
}
+
.justify-content-lg-center {
justify-content: center !important;
}
+
.justify-content-lg-between {
justify-content: space-between !important;
}
+
.justify-content-lg-around {
justify-content: space-around !important;
}
+
.justify-content-lg-evenly {
justify-content: space-evenly !important;
}
+
.align-items-lg-start {
align-items: flex-start !important;
}
+
.align-items-lg-end {
align-items: flex-end !important;
}
+
.align-items-lg-center {
align-items: center !important;
}
+
.align-items-lg-baseline {
align-items: baseline !important;
}
+
.align-items-lg-stretch {
align-items: stretch !important;
}
+
.align-content-lg-start {
align-content: flex-start !important;
}
+
.align-content-lg-end {
align-content: flex-end !important;
}
+
.align-content-lg-center {
align-content: center !important;
}
+
.align-content-lg-between {
align-content: space-between !important;
}
+
.align-content-lg-around {
align-content: space-around !important;
}
+
.align-content-lg-stretch {
align-content: stretch !important;
}
+
.align-self-lg-auto {
align-self: auto !important;
}
+
.align-self-lg-start {
align-self: flex-start !important;
}
+
.align-self-lg-end {
align-self: flex-end !important;
}
+
.align-self-lg-center {
align-self: center !important;
}
+
.align-self-lg-baseline {
align-self: baseline !important;
}
+
.align-self-lg-stretch {
align-self: stretch !important;
}
+
.order-lg-first {
order: -1 !important;
}
+
.order-lg-0 {
order: 0 !important;
}
+
.order-lg-1 {
order: 1 !important;
}
+
.order-lg-2 {
order: 2 !important;
}
+
.order-lg-3 {
order: 3 !important;
}
+
.order-lg-4 {
order: 4 !important;
}
+
.order-lg-5 {
order: 5 !important;
}
+
.order-lg-last {
order: 6 !important;
}
+
.m-lg-0 {
margin: 0 !important;
}
+
.m-lg-1 {
margin: 0.25rem !important;
}
+
.m-lg-2 {
margin: 0.5rem !important;
}
+
.m-lg-3 {
margin: 1rem !important;
}
+
.m-lg-4 {
margin: 1.5rem !important;
}
+
.m-lg-5 {
margin: 3rem !important;
}
+
.m-lg-auto {
margin: auto !important;
}
+
.mx-lg-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-lg-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-lg-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-lg-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-lg-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-lg-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-lg-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-lg-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-lg-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-lg-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-lg-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-lg-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-lg-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-lg-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-lg-0 {
margin-top: 0 !important;
}
+
.mt-lg-1 {
margin-top: 0.25rem !important;
}
+
.mt-lg-2 {
margin-top: 0.5rem !important;
}
+
.mt-lg-3 {
margin-top: 1rem !important;
}
+
.mt-lg-4 {
margin-top: 1.5rem !important;
}
+
.mt-lg-5 {
margin-top: 3rem !important;
}
+
.mt-lg-auto {
margin-top: auto !important;
}
+
.mr-lg-0 {
margin-right: 0 !important;
}
+
.mr-lg-1 {
margin-right: 0.25rem !important;
}
+
.mr-lg-2 {
margin-right: 0.5rem !important;
}
+
.mr-lg-3 {
margin-right: 1rem !important;
}
+
.mr-lg-4 {
margin-right: 1.5rem !important;
}
+
.mr-lg-5 {
margin-right: 3rem !important;
}
+
.mr-lg-auto {
margin-right: auto !important;
}
+
.mb-lg-0 {
margin-bottom: 0 !important;
}
+
.mb-lg-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-lg-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-lg-3 {
margin-bottom: 1rem !important;
}
+
.mb-lg-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-lg-5 {
margin-bottom: 3rem !important;
}
+
.mb-lg-auto {
margin-bottom: auto !important;
}
+
.ml-lg-0 {
margin-left: 0 !important;
}
+
.ml-lg-1 {
margin-left: 0.25rem !important;
}
+
.ml-lg-2 {
margin-left: 0.5rem !important;
}
+
.ml-lg-3 {
margin-left: 1rem !important;
}
+
.ml-lg-4 {
margin-left: 1.5rem !important;
}
+
.ml-lg-5 {
margin-left: 3rem !important;
}
+
.ml-lg-auto {
margin-left: auto !important;
}
+
.p-lg-0 {
padding: 0 !important;
}
+
.p-lg-1 {
padding: 0.25rem !important;
}
+
.p-lg-2 {
padding: 0.5rem !important;
}
+
.p-lg-3 {
padding: 1rem !important;
}
+
.p-lg-4 {
padding: 1.5rem !important;
}
+
.p-lg-5 {
padding: 3rem !important;
}
+
.px-lg-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-lg-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-lg-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-lg-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-lg-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-lg-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-lg-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-lg-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-lg-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-lg-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-lg-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-lg-0 {
padding-top: 0 !important;
}
+
.pt-lg-1 {
padding-top: 0.25rem !important;
}
+
.pt-lg-2 {
padding-top: 0.5rem !important;
}
+
.pt-lg-3 {
padding-top: 1rem !important;
}
+
.pt-lg-4 {
padding-top: 1.5rem !important;
}
+
.pt-lg-5 {
padding-top: 3rem !important;
}
+
.pr-lg-0 {
padding-right: 0 !important;
}
+
.pr-lg-1 {
padding-right: 0.25rem !important;
}
+
.pr-lg-2 {
padding-right: 0.5rem !important;
}
+
.pr-lg-3 {
padding-right: 1rem !important;
}
+
.pr-lg-4 {
padding-right: 1.5rem !important;
}
+
.pr-lg-5 {
padding-right: 3rem !important;
}
+
.pb-lg-0 {
padding-bottom: 0 !important;
}
+
.pb-lg-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-lg-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-lg-3 {
padding-bottom: 1rem !important;
}
+
.pb-lg-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-lg-5 {
padding-bottom: 3rem !important;
}
+
.pl-lg-0 {
padding-left: 0 !important;
}
+
.pl-lg-1 {
padding-left: 0.25rem !important;
}
+
.pl-lg-2 {
padding-left: 0.5rem !important;
}
+
.pl-lg-3 {
padding-left: 1rem !important;
}
+
.pl-lg-4 {
padding-left: 1.5rem !important;
}
+
.pl-lg-5 {
padding-left: 3rem !important;
}
+
.text-lg-left {
text-align: left !important;
}
+
.text-lg-right {
text-align: right !important;
}
+
.text-lg-center {
text-align: center !important;
}
}
-
@media (min-width: 1200px) {
.float-xl-left {
float: left !important;
}
+
.float-xl-right {
float: right !important;
}
+
.float-xl-none {
float: none !important;
}
+
.d-xl-inline {
display: inline !important;
}
+
.d-xl-inline-block {
display: inline-block !important;
}
+
.d-xl-block {
display: block !important;
}
+
+ .d-xl-grid {
+ display: grid !important;
+ }
+
.d-xl-table {
display: table !important;
}
+
.d-xl-table-row {
display: table-row !important;
}
+
.d-xl-table-cell {
display: table-cell !important;
}
+
.d-xl-flex {
display: flex !important;
}
+
.d-xl-inline-flex {
display: inline-flex !important;
}
+
.d-xl-none {
display: none !important;
}
+
.flex-xl-fill {
flex: 1 1 auto !important;
}
+
.flex-xl-row {
flex-direction: row !important;
}
+
.flex-xl-column {
flex-direction: column !important;
}
+
.flex-xl-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-xl-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-xl-grow-0 {
flex-grow: 0 !important;
}
+
.flex-xl-grow-1 {
flex-grow: 1 !important;
}
+
.flex-xl-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-xl-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-xl-wrap {
flex-wrap: wrap !important;
}
+
.flex-xl-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-xl-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xl-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-xl-start {
justify-content: flex-start !important;
}
+
.justify-content-xl-end {
justify-content: flex-end !important;
}
+
.justify-content-xl-center {
justify-content: center !important;
}
+
.justify-content-xl-between {
justify-content: space-between !important;
}
+
.justify-content-xl-around {
justify-content: space-around !important;
}
+
.justify-content-xl-evenly {
justify-content: space-evenly !important;
}
+
.align-items-xl-start {
align-items: flex-start !important;
}
+
.align-items-xl-end {
align-items: flex-end !important;
}
+
.align-items-xl-center {
align-items: center !important;
}
+
.align-items-xl-baseline {
align-items: baseline !important;
}
+
.align-items-xl-stretch {
align-items: stretch !important;
}
+
.align-content-xl-start {
align-content: flex-start !important;
}
+
.align-content-xl-end {
align-content: flex-end !important;
}
+
.align-content-xl-center {
align-content: center !important;
}
+
.align-content-xl-between {
align-content: space-between !important;
}
+
.align-content-xl-around {
align-content: space-around !important;
}
+
.align-content-xl-stretch {
align-content: stretch !important;
}
+
.align-self-xl-auto {
align-self: auto !important;
}
+
.align-self-xl-start {
align-self: flex-start !important;
}
+
.align-self-xl-end {
align-self: flex-end !important;
}
+
.align-self-xl-center {
align-self: center !important;
}
+
.align-self-xl-baseline {
align-self: baseline !important;
}
+
.align-self-xl-stretch {
align-self: stretch !important;
}
+
.order-xl-first {
order: -1 !important;
}
+
.order-xl-0 {
order: 0 !important;
}
+
.order-xl-1 {
order: 1 !important;
}
+
.order-xl-2 {
order: 2 !important;
}
+
.order-xl-3 {
order: 3 !important;
}
+
.order-xl-4 {
order: 4 !important;
}
+
.order-xl-5 {
order: 5 !important;
}
+
.order-xl-last {
order: 6 !important;
}
+
.m-xl-0 {
margin: 0 !important;
}
+
.m-xl-1 {
margin: 0.25rem !important;
}
+
.m-xl-2 {
margin: 0.5rem !important;
}
+
.m-xl-3 {
margin: 1rem !important;
}
+
.m-xl-4 {
margin: 1.5rem !important;
}
+
.m-xl-5 {
margin: 3rem !important;
}
+
.m-xl-auto {
margin: auto !important;
}
+
.mx-xl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-xl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-xl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-xl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-xl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-xl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-xl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-xl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-xl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-xl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-xl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-xl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-xl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-xl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-xl-0 {
margin-top: 0 !important;
}
+
.mt-xl-1 {
margin-top: 0.25rem !important;
}
+
.mt-xl-2 {
margin-top: 0.5rem !important;
}
+
.mt-xl-3 {
margin-top: 1rem !important;
}
+
.mt-xl-4 {
margin-top: 1.5rem !important;
}
+
.mt-xl-5 {
margin-top: 3rem !important;
}
+
.mt-xl-auto {
margin-top: auto !important;
}
+
.mr-xl-0 {
margin-right: 0 !important;
}
+
.mr-xl-1 {
margin-right: 0.25rem !important;
}
+
.mr-xl-2 {
margin-right: 0.5rem !important;
}
+
.mr-xl-3 {
margin-right: 1rem !important;
}
+
.mr-xl-4 {
margin-right: 1.5rem !important;
}
+
.mr-xl-5 {
margin-right: 3rem !important;
}
+
.mr-xl-auto {
margin-right: auto !important;
}
+
.mb-xl-0 {
margin-bottom: 0 !important;
}
+
.mb-xl-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-xl-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-xl-3 {
margin-bottom: 1rem !important;
}
+
.mb-xl-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-xl-5 {
margin-bottom: 3rem !important;
}
+
.mb-xl-auto {
margin-bottom: auto !important;
}
+
.ml-xl-0 {
margin-left: 0 !important;
}
+
.ml-xl-1 {
margin-left: 0.25rem !important;
}
+
.ml-xl-2 {
margin-left: 0.5rem !important;
}
+
.ml-xl-3 {
margin-left: 1rem !important;
}
+
.ml-xl-4 {
margin-left: 1.5rem !important;
}
+
.ml-xl-5 {
margin-left: 3rem !important;
}
+
.ml-xl-auto {
margin-left: auto !important;
}
+
.p-xl-0 {
padding: 0 !important;
}
+
.p-xl-1 {
padding: 0.25rem !important;
}
+
.p-xl-2 {
padding: 0.5rem !important;
}
+
.p-xl-3 {
padding: 1rem !important;
}
+
.p-xl-4 {
padding: 1.5rem !important;
}
+
.p-xl-5 {
padding: 3rem !important;
}
+
.px-xl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-xl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-xl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-xl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-xl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-xl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-xl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-xl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-xl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-xl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-xl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-xl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-xl-0 {
padding-top: 0 !important;
}
+
.pt-xl-1 {
padding-top: 0.25rem !important;
}
+
.pt-xl-2 {
padding-top: 0.5rem !important;
}
+
.pt-xl-3 {
padding-top: 1rem !important;
}
+
.pt-xl-4 {
padding-top: 1.5rem !important;
}
+
.pt-xl-5 {
padding-top: 3rem !important;
}
+
.pr-xl-0 {
padding-right: 0 !important;
}
+
.pr-xl-1 {
padding-right: 0.25rem !important;
}
+
.pr-xl-2 {
padding-right: 0.5rem !important;
}
+
.pr-xl-3 {
padding-right: 1rem !important;
}
+
.pr-xl-4 {
padding-right: 1.5rem !important;
}
+
.pr-xl-5 {
padding-right: 3rem !important;
}
+
.pb-xl-0 {
padding-bottom: 0 !important;
}
+
.pb-xl-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-xl-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-xl-3 {
padding-bottom: 1rem !important;
}
+
.pb-xl-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-xl-5 {
padding-bottom: 3rem !important;
}
+
.pl-xl-0 {
padding-left: 0 !important;
}
+
.pl-xl-1 {
padding-left: 0.25rem !important;
}
+
.pl-xl-2 {
padding-left: 0.5rem !important;
}
+
.pl-xl-3 {
padding-left: 1rem !important;
}
+
.pl-xl-4 {
padding-left: 1.5rem !important;
}
+
.pl-xl-5 {
padding-left: 3rem !important;
}
+
.text-xl-left {
text-align: left !important;
}
+
.text-xl-right {
text-align: right !important;
}
+
.text-xl-center {
text-align: center !important;
}
}
-
@media (min-width: 1400px) {
.float-xxl-left {
float: left !important;
}
+
.float-xxl-right {
float: right !important;
}
+
.float-xxl-none {
float: none !important;
}
+
.d-xxl-inline {
display: inline !important;
}
+
.d-xxl-inline-block {
display: inline-block !important;
}
+
.d-xxl-block {
display: block !important;
}
+
+ .d-xxl-grid {
+ display: grid !important;
+ }
+
.d-xxl-table {
display: table !important;
}
+
.d-xxl-table-row {
display: table-row !important;
}
+
.d-xxl-table-cell {
display: table-cell !important;
}
+
.d-xxl-flex {
display: flex !important;
}
+
.d-xxl-inline-flex {
display: inline-flex !important;
}
+
.d-xxl-none {
display: none !important;
}
+
.flex-xxl-fill {
flex: 1 1 auto !important;
}
+
.flex-xxl-row {
flex-direction: row !important;
}
+
.flex-xxl-column {
flex-direction: column !important;
}
+
.flex-xxl-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-xxl-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-xxl-grow-0 {
flex-grow: 0 !important;
}
+
.flex-xxl-grow-1 {
flex-grow: 1 !important;
}
+
.flex-xxl-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-xxl-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-xxl-wrap {
flex-wrap: wrap !important;
}
+
.flex-xxl-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-xxl-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-xxl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xxl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xxl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xxl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xxl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xxl-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-xxl-start {
justify-content: flex-start !important;
}
+
.justify-content-xxl-end {
justify-content: flex-end !important;
}
+
.justify-content-xxl-center {
justify-content: center !important;
}
+
.justify-content-xxl-between {
justify-content: space-between !important;
}
+
.justify-content-xxl-around {
justify-content: space-around !important;
}
+
.justify-content-xxl-evenly {
justify-content: space-evenly !important;
}
+
.align-items-xxl-start {
align-items: flex-start !important;
}
+
.align-items-xxl-end {
align-items: flex-end !important;
}
+
.align-items-xxl-center {
align-items: center !important;
}
+
.align-items-xxl-baseline {
align-items: baseline !important;
}
+
.align-items-xxl-stretch {
align-items: stretch !important;
}
+
.align-content-xxl-start {
align-content: flex-start !important;
}
+
.align-content-xxl-end {
align-content: flex-end !important;
}
+
.align-content-xxl-center {
align-content: center !important;
}
+
.align-content-xxl-between {
align-content: space-between !important;
}
+
.align-content-xxl-around {
align-content: space-around !important;
}
+
.align-content-xxl-stretch {
align-content: stretch !important;
}
+
.align-self-xxl-auto {
align-self: auto !important;
}
+
.align-self-xxl-start {
align-self: flex-start !important;
}
+
.align-self-xxl-end {
align-self: flex-end !important;
}
+
.align-self-xxl-center {
align-self: center !important;
}
+
.align-self-xxl-baseline {
align-self: baseline !important;
}
+
.align-self-xxl-stretch {
align-self: stretch !important;
}
+
.order-xxl-first {
order: -1 !important;
}
+
.order-xxl-0 {
order: 0 !important;
}
+
.order-xxl-1 {
order: 1 !important;
}
+
.order-xxl-2 {
order: 2 !important;
}
+
.order-xxl-3 {
order: 3 !important;
}
+
.order-xxl-4 {
order: 4 !important;
}
+
.order-xxl-5 {
order: 5 !important;
}
+
.order-xxl-last {
order: 6 !important;
}
+
.m-xxl-0 {
margin: 0 !important;
}
+
.m-xxl-1 {
margin: 0.25rem !important;
}
+
.m-xxl-2 {
margin: 0.5rem !important;
}
+
.m-xxl-3 {
margin: 1rem !important;
}
+
.m-xxl-4 {
margin: 1.5rem !important;
}
+
.m-xxl-5 {
margin: 3rem !important;
}
+
.m-xxl-auto {
margin: auto !important;
}
+
.mx-xxl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-xxl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-xxl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-xxl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-xxl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-xxl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-xxl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-xxl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-xxl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-xxl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-xxl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-xxl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-xxl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-xxl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-xxl-0 {
margin-top: 0 !important;
}
+
.mt-xxl-1 {
margin-top: 0.25rem !important;
}
+
.mt-xxl-2 {
margin-top: 0.5rem !important;
}
+
.mt-xxl-3 {
margin-top: 1rem !important;
}
+
.mt-xxl-4 {
margin-top: 1.5rem !important;
}
+
.mt-xxl-5 {
margin-top: 3rem !important;
}
+
.mt-xxl-auto {
margin-top: auto !important;
}
+
.mr-xxl-0 {
margin-right: 0 !important;
}
+
.mr-xxl-1 {
margin-right: 0.25rem !important;
}
+
.mr-xxl-2 {
margin-right: 0.5rem !important;
}
+
.mr-xxl-3 {
margin-right: 1rem !important;
}
+
.mr-xxl-4 {
margin-right: 1.5rem !important;
}
+
.mr-xxl-5 {
margin-right: 3rem !important;
}
+
.mr-xxl-auto {
margin-right: auto !important;
}
+
.mb-xxl-0 {
margin-bottom: 0 !important;
}
+
.mb-xxl-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-xxl-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-xxl-3 {
margin-bottom: 1rem !important;
}
+
.mb-xxl-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-xxl-5 {
margin-bottom: 3rem !important;
}
+
.mb-xxl-auto {
margin-bottom: auto !important;
}
+
.ml-xxl-0 {
margin-left: 0 !important;
}
+
.ml-xxl-1 {
margin-left: 0.25rem !important;
}
+
.ml-xxl-2 {
margin-left: 0.5rem !important;
}
+
.ml-xxl-3 {
margin-left: 1rem !important;
}
+
.ml-xxl-4 {
margin-left: 1.5rem !important;
}
+
.ml-xxl-5 {
margin-left: 3rem !important;
}
+
.ml-xxl-auto {
margin-left: auto !important;
}
+
.p-xxl-0 {
padding: 0 !important;
}
+
.p-xxl-1 {
padding: 0.25rem !important;
}
+
.p-xxl-2 {
padding: 0.5rem !important;
}
+
.p-xxl-3 {
padding: 1rem !important;
}
+
.p-xxl-4 {
padding: 1.5rem !important;
}
+
.p-xxl-5 {
padding: 3rem !important;
}
+
.px-xxl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-xxl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-xxl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-xxl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-xxl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-xxl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-xxl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-xxl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-xxl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-xxl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-xxl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-xxl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-xxl-0 {
padding-top: 0 !important;
}
+
.pt-xxl-1 {
padding-top: 0.25rem !important;
}
+
.pt-xxl-2 {
padding-top: 0.5rem !important;
}
+
.pt-xxl-3 {
padding-top: 1rem !important;
}
+
.pt-xxl-4 {
padding-top: 1.5rem !important;
}
+
.pt-xxl-5 {
padding-top: 3rem !important;
}
+
.pr-xxl-0 {
padding-right: 0 !important;
}
+
.pr-xxl-1 {
padding-right: 0.25rem !important;
}
+
.pr-xxl-2 {
padding-right: 0.5rem !important;
}
+
.pr-xxl-3 {
padding-right: 1rem !important;
}
+
.pr-xxl-4 {
padding-right: 1.5rem !important;
}
+
.pr-xxl-5 {
padding-right: 3rem !important;
}
+
.pb-xxl-0 {
padding-bottom: 0 !important;
}
+
.pb-xxl-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-xxl-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-xxl-3 {
padding-bottom: 1rem !important;
}
+
.pb-xxl-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-xxl-5 {
padding-bottom: 3rem !important;
}
+
.pl-xxl-0 {
padding-left: 0 !important;
}
+
.pl-xxl-1 {
padding-left: 0.25rem !important;
}
+
.pl-xxl-2 {
padding-left: 0.5rem !important;
}
+
.pl-xxl-3 {
padding-left: 1rem !important;
}
+
.pl-xxl-4 {
padding-left: 1.5rem !important;
}
+
.pl-xxl-5 {
padding-left: 3rem !important;
}
+
.text-xxl-left {
text-align: left !important;
}
+
.text-xxl-right {
text-align: right !important;
}
+
.text-xxl-center {
text-align: center !important;
}
}
-
@media (min-width: 1200px) {
.fs-1 {
font-size: 2.5rem !important;
}
+
.fs-2 {
font-size: 2rem !important;
}
+
.fs-3 {
font-size: 1.75rem !important;
}
+
.fs-4 {
font-size: 1.5rem !important;
}
+
.fs-sm-1 {
font-size: 2.5rem !important;
}
+
.fs-sm-2 {
font-size: 2rem !important;
}
+
.fs-sm-3 {
font-size: 1.75rem !important;
}
+
.fs-sm-4 {
font-size: 1.5rem !important;
}
+
.fs-md-1 {
font-size: 2.5rem !important;
}
+
.fs-md-2 {
font-size: 2rem !important;
}
+
.fs-md-3 {
font-size: 1.75rem !important;
}
+
.fs-md-4 {
font-size: 1.5rem !important;
}
+
.fs-lg-1 {
font-size: 2.5rem !important;
}
+
.fs-lg-2 {
font-size: 2rem !important;
}
+
.fs-lg-3 {
font-size: 1.75rem !important;
}
+
.fs-lg-4 {
font-size: 1.5rem !important;
}
}
-
@media print {
.d-print-inline {
display: inline !important;
}
+
.d-print-inline-block {
display: inline-block !important;
}
+
.d-print-block {
display: block !important;
}
+
+ .d-print-grid {
+ display: grid !important;
+ }
+
.d-print-table {
display: table !important;
}
+
.d-print-table-row {
display: table-row !important;
}
+
.d-print-table-cell {
display: table-cell !important;
}
+
.d-print-flex {
display: flex !important;
}
+
.d-print-inline-flex {
display: inline-flex !important;
}
+
.d-print-none {
display: none !important;
}
}
+
/*# sourceMappingURL=bootstrap-utilities.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.css.map b/dist/css/bootstrap-utilities.css.map
index b80b19b020..0631deca17 100644
--- a/dist/css/bootstrap-utilities.css.map
+++ b/dist/css/bootstrap-utilities.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-utilities.scss","bootstrap-utilities.css","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACoCI;EAEI,mCAA+D;ADnCzE;;ACiCM;EAEI,8BAA+D;AD/BzE;;AC6BM;EAEI,iCAA+D;AD3BzE;;ACyBM;EAEI,iCAA+D;ADvBzE;;ACqBM;EAEI,sCAA+D;ADnBzE;;ACiBM;EAEI,mCAA+D;ADfzE;;ACaM;EAEI,sBAA+D;ADXzE;;ACSM;EAEI,uBAA+D;ADPzE;;ACKM;EAEI,sBAA+D;ADHzE;;ACCM;EAEI,yBAA+D;ADCzE;;ACHM;EAEI,2BAA+D;ADKzE;;ACPM;EAEI,4BAA+D;ADSzE;;ACXM;EAEI,2BAA+D;ADazE;;ACfM;EAEI,0BAA+D;ADiBzE;;ACnBM;EAEI,gCAA+D;ADqBzE;;ACvBM;EAEI,yBAA+D;ADyBzE;;AC3BM;EAEI,yBAA+D;AD6BzE;;AC/BM;EAEI,6BAA+D;ADiCzE;;ACnCM;EAEI,8BAA+D;ADqCzE;;ACvCM;EAEI,wBAA+D;ADyCzE;;AC3CM;EAEI,+BAA+D;AD6CzE;;AC/CM;EAEI,wBAA+D;ADiDzE;;ACnDM;EAEI,wDAA+D;ADqDzE;;ACvDM;EAEI,8DAA+D;ADyDzE;;AC3DM;EAEI,uDAA+D;AD6DzE;;AC/DM;EAEI,2BAA+D;ADiEzE;;ACnEM;EAEI,2BAA+D;ADqEzE;;ACvEM;EAEI,6BAA+D;ADyEzE;;AC3EM;EAEI,6BAA+D;AD6EzE;;AC/EM;EAEI,0BAA+D;ADiFzE;;ACnFM;EAEI,mCAA+D;EAA/D,2BAA+D;ADqFzE;;ACvFM;EAEI,iBAA+D;ADyFzE;;AC3FM;EAEI,mBAA+D;AD6FzE;;AC/FM;EAEI,oBAA+D;ADiGzE;;ACnGM;EAEI,oBAA+D;ADqGzE;;ACvGM;EAEI,sBAA+D;ADyGzE;;AC3GM;EAEI,uBAA+D;AD6GzE;;AC/GM;EAEI,kBAA+D;ADiHzE;;ACnHM;EAEI,oBAA+D;ADqHzE;;ACvHM;EAEI,qBAA+D;ADyHzE;;AC3HM;EAEI,mBAA+D;AD6HzE;;AC/HM;EAEI,qBAA+D;ADiIzE;;ACnIM;EAEI,sBAA+D;ADqIzE;;ACvIM;EAEI,uDAA+D;ADyIzE;;AC3IM;EAEI,oCAA+D;AD6IzE;;AC/IM;EAEI,oBAA+D;ADiJzE;;ACnJM;EAEI,wCAA+D;ADqJzE;;ACvJM;EAEI,wBAA+D;ADyJzE;;AC3JM;EAEI,0CAA+D;AD6JzE;;AC/JM;EAEI,0BAA+D;ADiKzE;;ACnKM;EAEI,2CAA+D;ADqKzE;;ACvKM;EAEI,2BAA+D;ADyKzE;;AC3KM;EAEI,yCAA+D;AD6KzE;;AC/KM;EAEI,yBAA+D;ADiLzE;;ACnLM;EAEI,gCAA+D;ADqLzE;;ACvLM;EAEI,gCAA+D;ADyLzE;;AC3LM;EAEI,gCAA+D;AD6LzE;;AC/LM;EAEI,gCAA+D;ADiMzE;;ACnMM;EAEI,gCAA+D;ADqMzE;;ACvMM;EAEI,gCAA+D;ADyMzE;;AC3MM;EAEI,gCAA+D;AD6MzE;;AC/MM;EAEI,gCAA+D;ADiNzE;;ACnNM;EAEI,6BAA+D;ADqNzE;;ACvNM;EAEI,0BAA+D;ADyNzE;;AC3NM;EAEI,4BAA+D;AD6NzE;;AC/NM;EAEI,4BAA+D;ADiOzE;;ACnOM;EAEI,4BAA+D;ADqOzE;;ACvOM;EAEI,4BAA+D;ADyOzE;;AC3OM;EAEI,4BAA+D;AD6OzE;;AC/OM;EAEI,qBAA+D;ADiPzE;;ACnPM;EAEI,qBAA+D;ADqPzE;;ACvPM;EAEI,qBAA+D;ADyPzE;;AC3PM;EAEI,sBAA+D;AD6PzE;;AC/PM;EAEI,sBAA+D;ADiQzE;;ACnQM;EAEI,0BAA+D;ADqQzE;;ACvQM;EAEI,uBAA+D;ADyQzE;;AC3QM;EAEI,2BAA+D;AD6QzE;;AC/QM;EAEI,sBAA+D;ADiRzE;;ACnRM;EAEI,sBAA+D;ADqRzE;;ACvRM;EAEI,sBAA+D;ADyRzE;;AC3RM;EAEI,uBAA+D;AD6RzE;;AC/RM;EAEI,uBAA+D;ADiSzE;;ACnSM;EAEI,2BAA+D;ADqSzE;;ACvSM;EAEI,wBAA+D;ADySzE;;AC3SM;EAEI,4BAA+D;AD6SzE;;AC/SM;EAEI,yBAA+D;ADiTzE;;ACnTM;EAEI,8BAA+D;ADqTzE;;ACvTM;EAEI,iCAA+D;ADyTzE;;AC3TM;EAEI,sCAA+D;AD6TzE;;AC/TM;EAEI,yCAA+D;ADiUzE;;ACnUM;EAEI,uBAA+D;ADqUzE;;ACvUM;EAEI,uBAA+D;ADyUz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D;ADm0BzE;;ACr0BM;EAEI,+BAA+D;ADu0BzE;;ACz0BM;EAEI,0BAA+D;AD20BzE;;AC70BM;EAEI,gCAA+D;AD+0BzE;;ACj1BM;EAEI,+BAA+D;ADm1BzE;;ACr1BM;EAEI,6BAA+D;ADu1BzE;;ACz1BM;EAEI,+BAA+D;AD21BzE;;AC71BM;EAEI,6BAA+D;AD+1BzE;;ACj2BM;EAEI,4CAA+D;ADm2BzE;;ACr2BM;EAEI,4CAA+D;ADu2BzE;;ACz2BM;EAEI,0CAA+D;AD22BzE;;AC72BM;EAEI,4CAA+D;AD+2BzE;;ACj3BM;EAEI,6BAA+D;ADm3BzE;;ACr3BM;EAEI,0BAA+D;ADu3BzE;;ACz3BM;EAEI,6BAA+D;AD23BzE;;AC73BM;EAEI,6BAA+D;AD+3BzE;;ACj4BM;EAEI,2BAA+D;ADm4BzE;;ACr4BM;EAEI,+BAA+D;ADu4BzE;;ACz4BM;EAEI,2BAA+D;AD24BzE;;AC74BM;EAEI,2BAA+D;AD+4BzE;;ACj5BM;EAEI,8BAA+D;ADm5BzE;;ACr5BM;EAEI,oCAA+D;ADu5BzE;;ACz5BM;EAEI,oCAA+D;AD25BzE;;AC75BM;EAEI,qCAA+D;AD+5BzE;;ACj6BM;EAEI,2BAA+D;ADm6BzE;;ACr6BM;EAEI,4BAA+D;ADu6BzE;;ACz6BM;EAEI,6BAA+D;AD26BzE;;AC76BM;EAEI,yBAA+D;AD+6BzE;;ACj7BM;EAEI,yBAA+D;ADm7BzE;;ACr7BM;EAEI,yBAA+D;ADu7BzE;;ACz7BM;EAEI,yBAA+D;AD27BzE;;AC77BM;EAEI,yBAA+D;AD+7BzE;;ACj8BM;EAEI,yBAA+D;ADm8BzE;;ACr8BM;EAEI,yBAA+D;ADu8BzE;;ACz8BM;EAEI,yBAA+D;AD28BzE;;AC78BM;EAEI,sBAA+D;AD+8BzE;;ACj9BM;EAEI,yBAA+D;ADm9BzE;;ACr9BM;EAEI,yBAA+D;ADu9BzE;;ACz9BM;EAEI,oCAA+D;AD29BzE;;AC79BM;EAEI,0CAA+D;AD+9BzE;;ACj+BM;EAEI,yBAA+D;ADm+BzE;;ACr+BM;EAEI,yBAA+D;ADu+BzE;;ACz+BM;EAEI,4BAA+D;AD2+BzE;;AC7+BM;EAEI,2BAA+D;AD++BzE;;ACj/BM;EAEI,yBAA+D;ADm/BzE;;ACr/BM;EAEI,oCAA+D;ADu/BzE;;ACz/BM;EAEI,oCAA+D;AD2/BzE;;AC7/BM;EAEI,oCAA+D;AD+/BzE;;ACjgCM;EAEI,oCAA+D;ADmgCzE;;ACrgCM;EAEI,oCAA+D;ADugCzE;;ACzgCM;EAEI,oCAA+D;AD2gCzE;;AC7gCM;EAEI,oCAA+D;AD+gCzE;;ACjhCM;EAEI,oCAA+D;ADmhCzE;;ACrhCM;EAEI,iCAA+D;ADuhCzE;;ACzhCM;EAEI,iCAA+D;AD2hCzE;;AC7hCM;EAEI,wCAA+D;AD+hCzE;;ACjiCM;EAEI,+CAA+D;ADmiCzE;;ACriCM;EAEI,8BAA+D;ADuiCzE;;ACziCM;EAEI,8BAA+D;AD2iCzE;;AC7iCM;EAEI,gCAA+D;AD+iCzE;;ACjjCM;EAEI,qCAA+D;ADmjCzE;;ACrjCM;EAEI,wCAA+D;ADujCzE;;ACzjCM;EAEI,gCAA+D;EAA/D,iCAA+D;AD4jCzE;;AC9jCM;EAEI,gDAA+D;ADgkCzE;;AClkCM;EAEI,mCAA+D;EAA/D,gCAA+D;EAA/D,+BAA+D;EAA/D,2BAA+D;ADokCzE;;ACtkCM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;ADwkCzE;;AC1kCM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;AD4kCzE;;AC9kCM;EAEI,+BAA+D;ADglCzE;;ACllCM;EAEI,+BAA+D;ADolCzE;;ACtlCM;EAEI,iCAA+D;ADwlCzE;;AC1lCM;EAEI,gCAA+D;AD4lCzE;;AC9lCM;EAEI,gCAA+D;ADgmCzE;;AClmCM;EAEI,6BAA+D;ADomCzE;;ACtmCM;EAEI,+BAA+D;ADwmCzE;;AC1mCM;EAEI,2BAA+D;AD4mCzE;;AC9mCM;EAEI,0CAA+D;EAA/D,2CAA+D;ADinCzE;;ACnnCM;EAEI,2CAA+D;EAA/D,8CAA+D;ADsnCzE;;ACxnCM;EAEI,8CAA+D;EAA/D,6CAA+D;AD2nCzE;;AC7nCM;EAEI,6CAA+D;EAA/D,0CAA+D;ADgoCzE;;ACloCM;EAEI,8BAA+D;ADooCzE;;ACtoCM;EAEI,6BAA+D;ADwoCzE;;AEpnCI;EDtBE;IAEI,sBAA+D;ED6oCvE;EC/oCI;IAEI,uBAA+D;EDgpCvE;EClpCI;IAEI,sBAA+D;EDmpCvE;ECrpCI;IAEI,0BAA+D;EDspCvE;ECxpCI;IAEI,gCAA+D;EDypCvE;EC3pCI;IAEI,yBAA+D;ED4pCvE;EC9pCI;IAEI,yBAA+D;ED+pCvE;ECjqCI;IAEI,6BAA+D;EDkqCvE;ECpqCI;IAEI,8BAA+D;EDqqCvE;ECvqCI;IAEI,wBAA+D;EDwqCvE;EC1qCI;IAEI,+BAA+D;ED2qCvE;EC7qCI;IAEI,wBAA+D;ED8qCvE;EChrCI;IAEI,yBAA+D;EDirCvE;ECnrCI;IAEI,8BAA+D;EDorCvE;ECtrCI;IAEI,iCAA+D;EDurCvE;ECzrCI;IAEI,sCAA+D;ED0rCvE;EC5rCI;IAEI,yCAA+D;ED6rCvE;EC/rCI;IAEI,uBAA+D;EDgsCvE;EClsCI;IAEI,uBAA+D;EDmsCvE;ECrsCI;IAEI,yBAA+D;EDssCvE;ECxsCI;IAEI,yBAA+D;EDysCvE;EC3sCI;IAEI,0BAA+D;ED4sCvE;EC9sCI;IAEI,4BAA+D;ED+sCvE;ECjtCI;IAEI,kCAA+D;EDktCvE;ECptCI;IAEI,sCAA+D;EDqtCvE;ECvtCI;IAEI,oCAA+D;EDwtCvE;EC1tCI;IAEI,kCAA+D;ED2tCvE;EC7tCI;IAEI,yCAA+D;ED8tCvE;EChuCI;IAEI,wCAA+D;EDiuCvE;ECnuCI;IAEI,wCAA+D;EDouCvE;ECtuCI;IAEI,kCAA+D;EDuuCvE;ECzuCI;IAEI,gCAA+D;ED0uCvE;EC5uCI;IAEI,8BAA+D;ED6uCvE;EC/uCI;IAEI,gCAA+D;EDgvCvE;EClvCI;IAEI,+BAA+D;EDmvCvE;ECrvCI;IAEI,oCAA+D;EDsvCvE;ECxvCI;IAEI,kCAA+D;EDyvCvE;EC3vCI;IAEI,gCAA+D;ED4vCvE;EC9vCI;IAEI,uCAA+D;ED+vCvE;ECjwCI;IAEI,sCAA+D;EDkwCvE;ECpwCI;IAEI,iCAA+D;EDqwCvE;ECvwCI;IAEI,2BAA+D;EDwwCvE;EC1wCI;IAEI,iCAA+D;ED2wCvE;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I,iCAA+D;EDmpDvE;ECrpDI;IAEI,sCAA+D;EDspDvE;ECxpDI;IAEI,yCAA+D;EDypDvE;EC3pDI;IAEI,uBAA+D;ED4pDvE;EC9pDI;IAEI,uBAA+D;ED+pDvE;ECjqDI;IAEI,yBAA+D;EDkqDvE;ECpqDI;IAEI,yBAA+D;EDqqDvE;ECvqDI;IAEI,0BAA+D;EDwqDvE;EC1qDI;IAEI,4BAA+D;ED2qDvE;EC7qDI;IAEI,kCAA+D;ED8qDvE;EChrDI;IAEI,sCAA+D;EDirDvE;ECnrDI;IAEI,oCAA+D;EDorDvE;ECtrDI;IAEI,kCAA+D;EDurDvE;ECzrDI;IAEI,yCAA+D;ED0rDvE;EC5rDI;IAEI,wCAA+D;ED6rDvE;EC/rDI;IAEI,wCAA+D;EDgsDvE;EClsDI;IAEI,kCAA+D;EDmsDvE;ECrsDI;IAEI,gCAA+D;EDssDvE;ECxsDI;IAEI,8BAA+D;EDysDvE;EC3sDI;IAEI,gCAA+D;ED4sDvE;EC9sDI;IAEI,+BAA+D;ED+sDvE;ECjtDI;IAEI,oCAA+D;EDktDvE;ECptDI;IAEI,kCAA+D;EDqtDvE;ECvtDI;IAEI,gCAA+D;EDwtDvE;EC1tDI;IAEI,uCAA+D;ED2tDvE;EC7tDI;IAEI,sCAA+D;ED8tDvE;EChuDI;IAEI,iCAA+D;EDiuDvE;ECnuDI;IAEI,2BAA+D;EDouDvE;ECtuDI;IAEI,iCAA+D;EDuuDvE;ECzuDI;IAEI,+BAA+D;ED0uDvE;EC5uDI;IAEI,6BAA+D;ED6uDvE;EC/uDI;IAEI,+BAA+D;EDgvDvE;EClvDI;IAEI,8BAA+D;EDmvDvE;ECrvDI;IAEI,oBAA+D;EDsvDvE;ECxvDI;IAEI,mBAA+D;EDyvDvE;EC3vDI;IAEI,mBAA+D;ED4vDvE;EC9vDI;IAEI,mBAA+D;ED+vDvE;ECjwDI;IAEI,mBAA+D;EDkwDvE;ECpwDI;IAEI,mBAA+D;EDqwDvE;ECvwDI;IAEI,mBAA+D;EDwwDvE;EC1wDI;IAEI,mBAA+D;ED2wDvE;EC7wDI;IAEI,oBAA+D;ED8wDvE;EChxDI;IAEI,0BAA+D;EDixDvE;ECnxDI;IAEI,yBAA+D;EDoxDvE;ECtxDI;IAEI,uBAA+D;EDu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I;IAEI,kCAA+D;EDwhEvE;EC1hEI;IAEI,iCAA+D;ED2hEvE;EC7hEI;IAEI,+BAA+D;ED8hEvE;EChiEI;IAEI,iCAA+D;EDiiEvE;ECniEI;IAEI,+BAA+D;EDoiEvE;ECtiEI;IAEI,0BAA+D;EDuiEvE;ECziEI;IAEI,gCAA+D;ED0iEvE;EC5iEI;IAEI,+BAA+D;ED6iEvE;EC/iEI;IAEI,6BAA+D;EDgjEvE;ECljEI;IAEI,+BAA+D;EDmjEvE;ECrjEI;IAEI,6BAA+D;EDsjEvE;ECxjEI;IAEI,2BAA+D;EDyjEvE;EC3jEI;IAEI,4BAA+D;ED4jEvE;EC9jEI;IAEI,6BAA+D;ED+jEvE;AACF;;AE5iEI;EDtBE;IAEI,sBAA+D;EDqkEvE;ECvkEI;IAEI,uBAA+D;EDwkEvE;EC1kEI;IAEI,sBAA+D;ED2kEvE;EC7kEI;IAEI,0BAA+D;ED8kEvE;EChlEI;IAEI,gCAA+D;EDilEvE;ECnlEI;IAEI,yBAA+D;EDolEvE;ECtlEI;IAEI,yBAA+D;EDulEvE;ECzlEI;IAEI,6BAA+D;ED0lEvE;EC5lEI;IAEI,8BAA+D;ED6lEvE;EC/lEI;IAEI,wBAA+D;EDgmEvE;EClmEI;IAEI,+BAA+D;EDmmEvE;ECrmEI;IAEI,wBAA+D;EDsmEvE;ECxmEI;IAEI,yBAA+D;EDymEvE;EC3mEI;IAEI,8BAA+D;ED4mEvE;EC9mEI;IAEI,iCAA+D;ED+mEvE;ECjnEI;IAEI,sCAA+D;EDknEvE;ECpnEI;IAEI,yCAA+D;EDqnEvE;ECvnEI;IAEI,uBAA+D;EDwnEvE;EC1nEI;IAEI,uBAA+D;ED2nEvE;EC7nEI;IAEI,yBAA+D;ED8nEvE;EChoEI;IAEI,yBAA+D;EDioEvE;ECnoEI;IAEI,0BAA+D;EDooEvE;ECtoEI;IAEI,4BAA+D;EDuoEvE;ECzoEI;IAEI,kCAA+D;ED0oEvE;EC5oEI;IAEI,sCAA+D;ED6oEvE;EC/oEI;IAEI,oCAA+D;EDgpEvE;EClpEI;IAEI,kCAA+D;EDmpEvE;ECrpEI;IAEI,yCAA+D;EDspEvE;ECxpEI;IAEI,wCAA+D;EDypEvE;EC3pEI;IAEI,wCAA+D;ED4pEvE;EC9pE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A+D;EDoiFvE;ECtiFI;IAEI,sBAA+D;EDuiFvE;ECziFI;IAEI,0BAA+D;ED0iFvE;EC5iFI;IAEI,gCAA+D;ED6iFvE;EC/iFI;IAEI,yBAA+D;EDgjFvE;ECljFI;IAEI,yBAA+D;EDmjFvE;ECrjFI;IAEI,6BAA+D;EDsjFvE;ECxjFI;IAEI,8BAA+D;EDyjFvE;EC3jFI;IAEI,wBAA+D;ED4jFvE;EC9jFI;IAEI,+BAA+D;ED+jFvE;ECjkFI;IAEI,wBAA+D;EDkkFvE;ECpkFI;IAEI,yBAA+D;EDqkFvE;ECvkFI;IAEI,8BAA+D;EDwkFvE;EC1kFI;IAEI,iCAA+D;ED2kFvE;EC7kFI;IAEI,sCAA+D;ED8kFvE;EChlFI;IAEI,yCAA+D;EDilFvE;ECnlFI;IAEI,uBAA+D;EDolFvE;ECtlFI;IAEI,uBAA+D;EDulFvE;ECzlFI;IAEI,yBAA+D;ED0lFvE;EC5lFI;IAEI,yBAA+D;ED6lFvE;EC/lFI;IAEI,0BAA+D;EDgmFvE;EClmFI;IAEI,4BAA+D;EDmmFvE;ECrmFI;IAEI,kCAA+D;EDsmFvE;ECxmFI;IAEI,sCAA+D;EDymFvE;EC3mFI;IAEI,oCAA+D;ED4mFvE;EC9mFI;IAEI,kCAA+D;ED+mFvE;ECjnFI;IAEI,yCAA+D;EDknFvE;ECpnFI;IAEI,wCAA+D;EDqnFvE;ECvnFI;IAEI,wCAA+D;EDwnFvE;EC1nFI;IAEI,kCAA+D;ED2nFvE;EC7nFI;IAEI,gCAA+D;ED8nFvE;EChoFI;IAEI,8BAA+D;EDioFvE;ECnoFI;IAEI,gCAA+D;EDooFvE;ECtoFI;IAEI,+BAA+D;EDuoFvE;ECzoFI;IAEI,oCAA+D;ED0oFvE;EC5oFI;IAEI,kCAA+D;ED6oFvE;EC/oFI;IAEI,gCAA+D;EDgpFvE;EClpFI;IAEI,uCAA+D;EDmpFvE;ECrpFI;IAEI,sCAA+D;EDspFvE;ECxpFI;IAEI,iCAA+D;EDypFvE;EC3pFI;IAEI,2BAA+D;ED4pFvE;EC9pFI;IAEI,iCAA+D;ED+pFvE;ECjqFI;IAEI,+BAA+D;EDkqFvE;ECpqFI;IAEI,6BAA+D;EDqqFvE;ECvqFI;IAEI,+BAA+D;EDwqFvE;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I,yBAA+D;EDy6FvE;EC36FI;IAEI,+BAA+D;ED46FvE;EC96FI;IAEI,8BAA+D;ED+6FvE;ECj7FI;IAEI,4BAA+D;EDk7FvE;ECp7FI;IAEI,8BAA+D;EDq7FvE;ECv7FI;IAEI,4BAA+D;EDw7FvE;EC17FI;IAEI,2BAA+D;ED27FvE;EC77FI;IAEI,iCAA+D;ED87FvE;ECh8FI;IAEI,gCAA+D;EDi8FvE;ECn8FI;IAEI,8BAA+D;EDo8FvE;ECt8FI;IAEI,gCAA+D;EDu8FvE;ECz8FI;IAEI,8BAA+D;ED08FvE;EC58FI;IAEI,4BAA+D;ED68FvE;EC/8FI;IAEI,kCAA+D;EDg9FvE;ECl9FI;IAEI,iCAA+D;EDm9FvE;ECr9FI;IAEI,+BAA+D;EDs9FvE;ECx9FI;IAEI,iCAA+D;EDy9FvE;EC39FI;IAEI,+BAA+D;ED49FvE;EC99FI;IAEI,0BAA+D;ED+9FvE;ECj+FI;IAEI,gCAA+D;EDk+FvE;ECp+FI;IAEI,+BAA+D;EDq+FvE;ECv+FI;IAEI,6BAA+D;EDw+FvE;EC1+FI;IAEI,+BAA+D;ED2+FvE;EC7+FI;IAEI,6BAA+D;ED8+FvE;ECh/FI;IAEI,2BAA+D;EDi/FvE;ECn/FI;IAEI,4BAA+D;EDo/FvE;ECt/FI;IAEI,6BAA+D;EDu/FvE;AACF;;AEp+FI;EDtBE;IAEI,sBAA+D;ED6/FvE;EC//FI;IAEI,uBAA+D;EDggGvE;EClgGI;IAEI,sBAA+D;EDmgGvE;ECrgGI;IAEI,0BAA+D;EDsgGvE;ECxgGI;IAEI,gCAA+D;EDygGvE;EC3gGI;IAEI,yBAA+D;ED4gGvE;EC9gGI;IAEI,yBAA+D;ED+gGvE;ECjhGI;IAEI,6BAA+D;EDkhGvE;ECphGI;IAEI,8BAA+D;EDqhGvE;ECvhGI;IAEI,wBAA+D;EDwhGvE;EC1hGI;IAEI,+BAA+D;ED2hGvE;EC7hGI;IAEI,wBAA+D;ED8hGvE;EChiGI;IAEI,yBAA+D;EDiiGvE;ECniGI;IAEI,8BAA+D;EDoiGvE;ECtiGI;IAEI,iCAA+D;EDuiGvE;ECziGI;IAEI,sCAA+D;ED0iGvE;EC5iGI;IAEI,yCAA+D;ED6iGvE;EC/iGI;IAEI,uBAA+D;EDgjGvE;ECljGI;IAEI,uBAA+D;EDmjGvE;ECrjGI;IAEI,yBAA+D;EDsjGvE;ECxjGI;IAEI,yBAA+D;EDyjGvE;EC3jGI;IAEI,0BAA+D;ED4jGvE;EC9jGI;IAEI,4BAA+D;ED+jGvE;ECjkGI;IAEI,kCAA+D;EDkkGvE;ECpkGI;IAEI,sCAA+D;EDqkGvE;ECvkGI;IAEI,oCAA+D;EDwkGvE;EC1kGI;IAEI,kCAA+D;ED2kGvE;EC7kGI;IAEI,yCAA+D;ED8kGvE;EChlGI;IAEI,wCAA+D;EDilGvE;ECnlGI;IAEI,wCAA+D;EDolGvE;ECtlGI;IAEI,kCAA+D;EDulGvE;ECzlGI;IAEI,gCAA+D;ED0lGvE;EC5lGI;IAEI,8BAA+D;ED6lGvE;EC/lGI;IAEI,gCAA+D;EDgmGvE;EClmGI;IAEI,+BAA+D;EDmmGvE;ECrmGI;IAEI,oCAA+D;EDsmGvE;ECxmGI;IAEI,kCAA+D;EDymGvE;EC3mGI;IAEI,gCAA+D;ED4mGvE;EC9mGI;IAEI,uCAA+D;ED+mGvE;ECjnGI;IAEI,sCAA+D;EDknGvE;ECpnGI;IAEI,iCAA+D;EDqnGvE;ECvnGI;IAEI,2BAA+D;EDwnGvE;EC1nGI;IAEI,iCAA+D;ED2nGvE;EC7nGI;IAEI,+BAA+D;ED8nGvE;EChoGI;IAEI,6BAA+D;EDioGvE;ECnoGI;IAEI,+BAA+D;EDooGvE;ECtoGI;IAEI,8BAA+D;EDuoGvE;ECzoGI;IAEI,oBAA+D;ED0oGvE;EC5oGI;IAEI,mBAA+D;ED6oGvE;EC/oGI;IAEI,mBAA+D;EDgpGvE;EClpGI;IAEI,mBAA+D;EDmpGvE;ECrpGI;IAEI,mBAA+D;EDspGvE;ECxpGI;IAEI,mBAA+D;EDypGvE;EC3pGI;IAEI,mBAA+D;ED4pGvE;EC9pGI;IAEI,mBAA+D;ED+pGvE;ECjqGI;IAEI,oBAA+D;EDkqGvE;ECpqGI;IAEI,0BAA+D;EDqqGvE;ECvqGI;IAEI,yBAA+D;EDwqGvE;EC1qGI;IAEI,uBAA+D;ED2qGvE;EC7qGI;IAEI,yBAA+D;ED8qGvE;EChrGI;IAEI,uBAA+D;EDirGvE;ECnrGI;IAEI,uBAA+D;EDo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","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Utilities v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #212529 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #212529 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #212529 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n .float-xxl-right {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n .text-xxl-left {\n text-align: left !important;\n }\n .text-xxl-right {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n .fs-2 {\n font-size: 2rem !important;\n }\n .fs-3 {\n font-size: 1.75rem !important;\n }\n .fs-4 {\n font-size: 1.5rem !important;\n }\n .fs-sm-1 {\n font-size: 2.5rem !important;\n }\n .fs-sm-2 {\n font-size: 2rem !important;\n }\n .fs-sm-3 {\n font-size: 1.75rem !important;\n }\n .fs-sm-4 {\n font-size: 1.5rem !important;\n }\n .fs-md-1 {\n font-size: 2.5rem !important;\n }\n .fs-md-2 {\n font-size: 2rem !important;\n }\n .fs-md-3 {\n font-size: 1.75rem !important;\n }\n .fs-md-4 {\n font-size: 1.5rem !important;\n }\n .fs-lg-1 {\n font-size: 2.5rem !important;\n }\n .fs-lg-2 {\n font-size: 2rem !important;\n }\n .fs-lg-3 {\n font-size: 1.75rem !important;\n }\n .fs-lg-4 {\n font-size: 1.5rem !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-utilities.scss","../../scss/mixins/_utilities.scss","bootstrap-utilities.css","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;EAAA;ACyCM;EAEI,mCAAA;ACnCV;;ADiCM;EAEI,8BAAA;AC/BV;;AD6BM;EAEI,iCAAA;AC3BV;;ADyBM;EAEI,iCAAA;ACvBV;;ADqBM;EAEI,sCAAA;ACnBV;;ADiBM;EAEI,mCAAA;ACfV;;ADaM;EAEI,sBAAA;ACXV;;ADSM;EAEI,uBAAA;ACPV;;ADKM;EAEI,sBAAA;ACHV;;ADCM;EAEI,yBAAA;ACCV;;ADHM;EAEI,2BAAA;ACKV;;ADPM;EAEI,4BAAA;ACSV;;ADXM;EAEI,2BAAA;ACaV;;ADfM;EAEI,0BAAA;ACiBV;;ADnBM;EAEI,gCAAA;ACqBV;;ADvBM;EAEI,yBAAA;ACyBV;;AD3BM;EAEI,wBAAA;AC6BV;;AD/BM;EAEI,yBAAA;ACiCV;;ADnCM;EAEI,6BAAA;ACqCV;;ADvCM;EAEI,8BAAA;ACyCV;;AD3CM;EAEI,wBAAA;AC6CV;;AD/CM;EAEI,+BAAA;ACiDV;;ADnDM;EAEI,wBAAA;ACqDV;;ADvDM;EAEI,wDAAA;ACyDV;;AD3DM;EAEI,8DAAA;AC6DV;;AD/DM;EAEI,uDAAA;ACiEV;;ADnEM;EAEI,2BAAA;ACqEV;;ADvEM;EAEI,2BAAA;ACyEV;;AD3EM;EAEI,6BAAA;AC6EV;;AD/EM;EAEI,6BAAA;ACiFV;;ADnFM;EAEI,0BAAA;ACqFV;;ADvFM;EAEI,mCAAA;EAAA,2BAAA;ACyFV;;AD3FM;EAEI,iBAAA;AC6FV;;AD/FM;EAEI,mBAAA;ACiGV;;ADnGM;EAEI,oBAAA;ACqGV;;ADvGM;EAEI,oBAAA;ACyGV;;AD3GM;EAEI,sBAAA;AC6GV;;AD/GM;EAEI,uBAAA;ACiHV;;ADnHM;EAEI,kBAAA;ACqHV;;ADvHM;EAEI,oBAAA;ACyHV;;AD3HM;EAEI,qBAAA;AC6HV;;AD/HM;EAEI,mBAAA;ACiIV;;ADnIM;EAEI,qBAAA;ACqIV;;ADvIM;EAEI,sBAAA;ACyIV;;AD3IM;EAEI,uDAAA;AC6IV;;AD/IM;EAEI,oCAAA;ACiJV;;ADnJM;EAEI,oBAAA;ACqJV;;ADvJM;EAEI,wCAAA;ACyJV;;AD3JM;EAEI,wBAAA;AC6JV;;AD/JM;EAEI,0CAAA;ACiKV;;ADnKM;EAEI,0BAAA;ACqKV;;ADvKM;EAEI,2CAAA;ACyKV;;AD3KM;EAEI,2BAAA;AC6KV;;AD/KM;EAEI,yCAAA;ACiLV;;ADnLM;EAEI,yBAAA;ACqLV;;ADvLM;EAEI,gCAAA;ACyLV;;AD3LM;EAEI,gCAAA;AC6LV;;AD/LM;EAEI,gCAAA;ACiMV;;ADnMM;EAEI,gCAAA;ACqMV;;ADvMM;EAEI,gCAAA;ACyMV;;AD3MM;EAEI,gCAAA;AC6MV;;AD/MM;EAEI,gCAAA;ACiNV;;ADnNM;EAEI,gCAAA;ACqNV;;ADvNM;EAEI,6BAAA;ACyNV;;AD3NM;EAEI,0BAAA;AC6NV;;AD/NM;EAEI,4BAAA;ACiOV;;ADnOM;EAEI,4BAAA;ACqOV;;ADvOM;EAEI,4BAAA;ACyOV;;AD3OM;EAEI,4BAAA;AC6OV;;AD/OM;EAEI,4BAAA;ACiPV;;ADnPM;EAEI,qBAAA;ACqPV;;ADvPM;EAEI,qBAAA;ACyPV;;AD3PM;EAEI,qBAAA;AC6PV;;AD/PM;EAEI,sBAAA;ACiQV;;ADnQM;EAEI,sBAAA;ACqQV;;ADvQM;EAEI,0BAAA;ACyQV;;AD3QM;EAEI,uBAAA;AC6QV;;AD/QM;EAEI,2BAAA;ACiRV;;ADnRM;EAEI,sBAAA;ACqRV;;ADvRM;EAEI,sBAAA;ACyRV;;AD3RM;EAEI,sBAAA;AC6RV;;AD/RM;EAEI,uBAAA;ACiSV;;ADnSM;EAEI,uBAAA;ACqSV;;ADvSM;EAEI,2BAAA;ACySV;;AD3SM;EAEI,wBAAA;AC6SV;;AD/SM;EAEI,4BAAA;ACiTV;;ADnTM;EAEI,yBAAA;ACqTV;;ADvTM;EAEI,8BAAA;ACyTV;;AD3TM;EAEI,iCAAA;AC6TV;;AD/TM;EAEI,sCAAA;ACiUV;;ADnUM;EAEI,yCAAA;ACqUV;;ADvUM;EAEI,uBAAA;ACyUV;;AD3UM;EAEI,uBAAA;AC6UV;;AD/UM;EAEI,yBAAA;ACiVV;;ADnVM;EAEI,yBAAA;ACqVV;;ADvVM;EAEI,0BAAA;ACyVV;;AD3VM;EAEI,4BAAA;AC6VV;;AD/VM;EAEI,kCAAA;ACiWV;;ADnWM;EAEI,iBAAA;ACqWV;;ADvWM;EAEI,uBAA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AD74BM;EAEI,6BAAA;AC+4BV;;ADj5BM;EAEI,0BAAA;ACm5BV;;ADr5BM;EAEI,6BAAA;ACu5BV;;ADz5BM;EAEI,6BAAA;AC25BV;;AD75BM;EAEI,2BAAA;AC+5BV;;ADj6BM;EAEI,+BAAA;ACm6BV;;ADr6BM;EAEI,2BAAA;ACu6BV;;ADz6BM;EAEI,2BAAA;AC26BV;;AD76BM;EAEI,8BAAA;AC+6BV;;ADj7BM;EAEI,oCAAA;ACm7BV;;ADr7BM;EAEI,oCAAA;ACu7BV;;ADz7BM;EAEI,qCAAA;AC27BV;;AD77BM;EAEI,2BAAA;AC+7BV;;ADj8BM;EAEI,4BAAA;ACm8BV;;ADr8BM;EAEI,6BAAA;ACu8BV;;ADz8BM;EAEI,yBAAA;AC28BV;;AD78BM;EAEI,yBAAA;AC+8BV;;ADj9BM;EAEI,yBAAA;ACm9BV;;ADr9BM;EAEI,yBAAA;ACu9BV;;ADz9BM;EAEI,yBAAA;AC29BV;;AD79BM;EAEI,yBAAA;AC+9BV;;ADj+BM;EAEI,yBAAA;ACm+BV;;ADr+BM;EAEI,yBAAA;ACu+BV;;ADz+BM;EAEI,sBAAA;AC2+BV;;AD7+BM;EAEI,yBAAA;AC++BV;;ADj/BM;EAEI,yBAAA;ACm/BV;;ADr/BM;EAEI,oCAAA;ACu/BV;;ADz/BM;EAEI,0CAAA;AC2/BV;;AD7/BM;EAEI,yBAAA;AC+/BV;;ADjgCM;EAEI,yBAAA;ACmgCV;;ADrgCM;EAEI,4BAAA;ACugCV;;ADzgCM;EAEI,2BAAA;AC2gCV;;AD7gCM;EAEI,yBAAA;AC+gCV;;ADjhCM;EAEI,oCAAA;ACmhCV;;ADrhCM;EAEI,oCAAA;ACuhCV;;ADzhCM;EAEI,oCAAA;AC2hCV;;AD7hCM;EAEI,oCAAA;AC+hCV;;ADjiCM;EAEI,oCAAA;ACmiCV;;ADriCM;EAEI,oCAAA;ACuiCV;;ADziCM;EAEI,oCAAA;AC2iCV;;AD7iCM;EAEI,oCAAA;AC+iCV;;ADjjCM;EAEI,iCAAA;ACmjCV;;ADrjCM;EAEI,iCAAA;ACujCV;;ADzjCM;EAEI,wCAAA;AC2jCV;;AD7jCM;EAEI,+CAAA;AC+jCV;;ADjkCM;EAEI,8BAAA;ACmkCV;;ADrkCM;EAEI,8BAAA;ACukCV;;ADzkCM;EAEI,gCAAA;AC2kCV;;AD7kCM;EAEI,qCAAA;AC+kCV;;ADjlCM;EAEI,wCAAA;ACmlCV;;ADrlCM;EAEI,gCAAA;EAAA,iCAAA;ACwlCV;;AD1lCM;EAEI,gDAAA;AC4lCV;;AD9lCM;EAEI,mCAAA;EAAA,gCAAA;EAAA,2BAAA;ACgmCV;;ADlmCM;EAEI,oCAAA;EAAA,iCAAA;EAAA,4BAAA;AComCV;;ADtmCM;EAEI,oCAAA;EAAA,iCAAA;EAAA,4BAAA;ACwmCV;;AD1mCM;EAEI,+BAAA;AC4mCV;;AD9mCM;EAEI,+BAAA;ACgnCV;;ADlnCM;EAEI,iCAAA;AConCV;;ADtnCM;EAEI,2BAAA;ACwnCV;;AD1nCM;EAEI,gCAAA;AC4nCV;;AD9nCM;EAEI,iCAAA;ACgoCV;;ADloCM;EAEI,gCAAA;ACooCV;;ADtoCM;EAEI,6BAAA;ACwoCV;;AD1oCM;EAEI,+BAAA;AC4oCV;;AD9oCM;EAEI,0CAAA;EAAA,2CAAA;ACipCV;;ADnpCM;EAEI,2CAAA;EAAA,8CAAA;ACspCV;;ADxpCM;EAEI,8CAAA;EAAA,6CAAA;AC2pCV;;AD7pCM;EAEI,6CAAA;EAAA,0CAAA;ACgqCV;;ADlqCM;EAEI,8BAAA;ACoqCV;;ADtqCM;EAEI,6BAAA;ACwqCV;;ACppCI;EFtBE;IAEI,sBAAA;EC6qCR;;ED/qCI;IAEI,uBAAA;ECirCR;;EDnrCI;IAEI,sBAAA;ECqrCR;;EDvrCI;IAEI,0BAAA;ECyrCR;;ED3rCI;IAEI,gCAAA;EC6rCR;;ED/rCI;IAEI,yBAAA;ECisCR;;EDnsCI;IAEI,wBAAA;ECqsCR;;EDvsCI;IAEI,yBAAA;ECysCR;;ED3sCI;IAEI,6BAAA;EC6sCR;;ED/sCI;IAEI,8BAAA;ECitCR;;EDntCI;IAEI,wBAAA;ECqtCR;;EDvtCI;IAEI,+BAAA;ECytCR;;ED3tCI;IAEI,wBAAA;EC6tCR;;ED/tCI;IAEI,yBAAA;ECiuCR;;EDnuCI;IAEI,8BAAA;ECquCR;;EDvuCI;IAEI,iCAAA;ECyuCR;;ED3uCI;IAEI,sCAAA;EC6uCR;;ED/uCI;IAEI,yCAAA;ECivCR;;EDnvCI;IAEI,uBAAA;ECqvCR;;EDvvCI;IAEI,uBAAA;ECyvCR;;ED3vCI;IAEI,yBAAA;EC6vCR;;ED/vCI;IAEI,yBAAA;ECiwCR;;EDnwCI;IAEI,0BAAA;ECqwCR;;EDvwCI;IAEI,4BAAA;ECywCR;;ED3wCI;IAEI,kCAAA;EC6wCR;;ED/wCI;IAEI,iBAAA;ECixCR;;EDnxCI;IAEI,uBAAA;ECqxCR;;EDvxCI;IAEI,sBAAA;ECyxCR;;ED3xCI;IAEI,oBAAA;EC6xCR;;ED/xCI;IAEI,sBAAA;ECiyCR;;EDnyCI;IAEI,oBAAA;ECqyCR;;EDvyCI;IAEI,sCAAA;ECyyCR;;ED3yCI;IAEI,oCAAA;EC6yCR;;ED/yCI;IAEI,kCAAA;ECizCR;;EDnzCI;IAEI,yCAAA;ECqzCR;;EDvzCI;IAEI,wCAAA;ECyzCR;;ED3zCI;IAEI,wCAAA;EC6zCR;;ED/zCI;IAEI,kCAAA;ECi0CR;;EDn0CI;IAEI,gCAAA;ECq0CR;;EDv0CI;IAEI,8BAAA;ECy0CR;;ED30CI;IAEI,gCAAA;EC60CR;;ED/0CI;IAEI,+BAAA;ECi1CR;;EDn1CI;IAEI,oCAAA;ECq1CR;;EDv1CI;IAEI,kCAAA;ECy1CR;;ED31CI;IAEI,gCAAA;EC61CR;;ED/1CI;IAEI,uCAAA;ECi2CR;;EDn2CI;IAEI,sCAAA;ECq2CR;;EDv2CI;IAEI,iCAAA;ECy2CR;;ED32CI;IAEI,2BAAA;EC62CR;;ED/2CI;IAEI,iCAAA;ECi3CR;;EDn3CI;IAEI,+BAAA;ECq3CR;;EDv3CI;IAEI,6BAAA;ECy3CR;;ED33CI;IAEI,+BAAA;EC63CR;;ED/3CI;IAEI,8BAAA;ECi4CR;;EDn4CI;IAEI,oBAAA;ECq4CR;;EDv4CI;IAEI,mBAAA;ECy4CR;;ED34CI;IAEI,mBAAA;EC64CR;;ED/4CI;IAEI,mBAAA;ECi5CR;;EDn5CI;IAEI,mBAAA;ECq5CR;;EDv5CI;IAEI,mBAAA;ECy5CR;;ED35CI;IAEI,mBAAA;EC65CR;;ED/5CI;IAEI,mBAAA;ECi6CR;;EDn6CI;IAEI,oBAAA;ECq6CR;;EDv6CI;IAEI,0BA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R;;EDzwDI;IAEI,iCAAA;EC2wDR;;ED7wDI;IAEI,+BAAA;EC+wDR;;EDjxDI;IAEI,0BAAA;ECmxDR;;EDrxDI;IAEI,gCAAA;ECuxDR;;EDzxDI;IAEI,+BAAA;EC2xDR;;ED7xDI;IAEI,6BAAA;EC+xDR;;EDjyDI;IAEI,+BAAA;ECmyDR;;EDryDI;IAEI,6BAAA;ECuyDR;;EDzyDI;IAEI,2BAAA;EC2yDR;;ED7yDI;IAEI,4BAAA;EC+yDR;;EDjzDI;IAEI,6BAAA;ECmzDR;AACF;AChyDI;EFtBE;IAEI,sBAAA;ECwzDR;;ED1zDI;IAEI,uBAAA;EC4zDR;;ED9zDI;IAEI,sBAAA;ECg0DR;;EDl0DI;IAEI,0BAAA;ECo0DR;;EDt0DI;IAEI,gCAAA;ECw0DR;;ED10DI;IAEI,yBAAA;EC40DR;;ED90DI;IAEI,wBAAA;ECg1DR;;EDl1DI;IAEI,yBAAA;ECo1DR;;EDt1DI;IAEI,6BAAA;ECw1DR;;ED11DI;IAEI,8BAAA;EC41DR;;ED91DI;IAEI,wBAAA;ECg2DR;;EDl2DI;IAEI,+BAAA;ECo2DR;;EDt2DI;IAEI,wBAAA;ECw2DR;;ED12DI;IAEI,yBAAA;EC42DR;;ED92DI;IAEI,8BAAA;ECg3DR;;EDl3DI;IAEI,iCAAA;ECo3DR;;EDt3DI;IAEI,sCAAA;ECw3DR;;ED13DI;IAEI,yCAAA;EC43DR;;ED93DI;IAEI,uBAAA;ECg4DR;;EDl4DI;IAEI,uBAAA;ECo4DR;;EDt4DI;IAEI,yBAAA;ECw4DR;;ED14DI;IAEI,yBAAA;EC44DR;;ED94DI;IAEI,0BAAA;ECg5DR;;EDl5DI;IAEI,4BAAA;ECo5DR;;EDt5DI;IAEI,kCAAA;ECw5DR;;ED15DI;IAEI,iBAAA;EC45DR;;ED95DI;IAEI,uBAAA;ECg6DR;;EDl6DI;IAEI,sBAAA;ECo6DR;;EDt6DI;IAEI,oBAAA;ECw6DR;;ED16DI;IAEI,sBAAA;EC46DR;;ED96DI;IAEI,oBAAA;ECg7DR;;EDl7DI;IAEI,sCAAA;ECo7DR;;EDt7DI;IAEI,oCAAA;ECw7DR;;ED17DI;IAEI,kCAAA;EC47DR;;ED97DI;IAEI,yCAAA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Cu9ER;;EDz9EI;IAEI,wBAAA;EC29ER;;ED79EI;IAEI,yBAAA;EC+9ER;;EDj+EI;IAEI,6BAAA;ECm+ER;;EDr+EI;IAEI,8BAAA;ECu+ER;;EDz+EI;IAEI,wBAAA;EC2+ER;;ED7+EI;IAEI,+BAAA;EC++ER;;EDj/EI;IAEI,wBAAA;ECm/ER;;EDr/EI;IAEI,yBAAA;ECu/ER;;EDz/EI;IAEI,8BAAA;EC2/ER;;ED7/EI;IAEI,iCAAA;EC+/ER;;EDjgFI;IAEI,sCAAA;ECmgFR;;EDrgFI;IAEI,yCAAA;ECugFR;;EDzgFI;IAEI,uBAAA;EC2gFR;;ED7gFI;IAEI,uBAAA;EC+gFR;;EDjhFI;IAEI,yBAAA;ECmhFR;;EDrhFI;IAEI,yBAAA;ECuhFR;;EDzhFI;IAEI,0BAAA;EC2hFR;;ED7hFI;IAEI,4BAAA;EC+hFR;;EDjiFI;IAEI,kCAAA;ECmiFR;;EDriFI;IAEI,iBAAA;ECuiFR;;EDziFI;IAEI,uBAAA;EC2iFR;;ED7iFI;IAEI,sBAAA;EC+iFR;;EDjjFI;IAEI,oBAAA;ECmjFR;;EDrjFI;IAEI,sBAAA;ECujFR;;EDzjFI;IAEI,oBAAA;EC2jFR;;ED7jFI;IAEI,sCAAA;EC+jFR;;EDjkFI;IAEI,oCAAA;ECmkFR;;EDrkFI;IAEI,kCAAA;ECukFR;;EDzkFI;IAEI,yCAAA;EC2kFR;;ED7kFI;IAEI,wCAAA;EC+kFR;;EDjlFI;IAEI,wCAAA;ECmlFR;;EDrlFI;IAEI,kCAAA;ECulFR;;EDzlFI;IAEI,gCAAA;EC2lFR;;ED7lFI;IAEI,8BAAA;EC+lFR;;EDjmFI;IAEI,gCAAA;ECmmFR;;EDrmFI;IAEI,+BAAA;ECumFR;;EDzmFI;IAEI,oCAAA;EC2mFR;;ED7mFI;IAEI,kCAAA;EC+mFR;;EDjnFI;IAEI,gCAAA;ECmnFR;;EDrnFI;IAEI,uCAAA;ECunFR;;EDznFI;IAEI,sCAAA;EC2nFR;;ED7nFI;IAEI,iCAAA;EC+nFR;;EDjoFI;IAEI,2BAAA;ECmoFR;;EDroFI;IAEI,iCAAA;ECuoFR;;EDzoFI;IAEI,+BAAA;EC2oFR;;ED7oFI;IAEI,6BAAA;EC+oF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I;IAEI,8BAAA;ECi/FR;;EDn/FI;IAEI,4BAAA;ECq/FR;;EDv/FI;IAEI,2BAAA;ECy/FR;;ED3/FI;IAEI,iCAAA;EC6/FR;;ED//FI;IAEI,gCAAA;ECigGR;;EDngGI;IAEI,8BAAA;ECqgGR;;EDvgGI;IAEI,gCAAA;ECygGR;;ED3gGI;IAEI,8BAAA;EC6gGR;;ED/gGI;IAEI,4BAAA;ECihGR;;EDnhGI;IAEI,kCAAA;ECqhGR;;EDvhGI;IAEI,iCAAA;ECyhGR;;ED3hGI;IAEI,+BAAA;EC6hGR;;ED/hGI;IAEI,iCAAA;ECiiGR;;EDniGI;IAEI,+BAAA;ECqiGR;;EDviGI;IAEI,0BAAA;ECyiGR;;ED3iGI;IAEI,gCAAA;EC6iGR;;ED/iGI;IAEI,+BAAA;ECijGR;;EDnjGI;IAEI,6BAAA;ECqjGR;;EDvjGI;IAEI,+BAAA;ECyjGR;;ED3jGI;IAEI,6BAAA;EC6jGR;;ED/jGI;IAEI,2BAAA;ECikGR;;EDnkGI;IAEI,4BAAA;ECqkGR;;EDvkGI;IAEI,6BAAA;ECykGR;AACF;ACtjGI;EFtBE;IAEI,sBAAA;EC8kGR;;EDhlGI;IAEI,uBAAA;ECklGR;;EDplGI;IAEI,sBAAA;ECslGR;;EDxlGI;IAEI,0BAAA;EC0lGR;;ED5lGI;IAEI,gCAAA;EC8lGR;;EDhmGI;IAEI,yBAAA;ECkmGR;;EDpmGI;IAEI,wBAAA;ECsmGR;;EDxmGI;IAEI,yBAAA;EC0mGR;;ED5mGI;IAEI,6BAAA;EC8mGR;;EDhnGI;IAEI,8BAAA;ECknGR;;EDpnGI;IAEI,wBAAA;ECsnGR;;EDxnGI;IAEI,+BAAA;EC0nGR;;ED5nGI;IAEI,wBAAA;EC8nGR;;EDhoGI;IAEI,yBAAA;ECkoGR;;EDpoGI;IAEI,8BAAA;ECsoGR;;EDxoGI;IAEI,iCAAA;EC0oGR;;ED5oGI;IAEI,sCAAA;EC8oGR;;EDhpGI;IAEI,yCAAA;ECkpGR;;EDppGI;IAEI,uBAAA;ECspGR;;EDxpGI;IAEI,uBAAA;EC0pGR;;ED5pGI;IAEI,yBAAA;EC8pGR;;EDhqGI;IAEI,yBAAA;ECkqGR;;EDpqGI;IAEI,0BAAA;ECsqGR;;EDxqGI;IAEI,4BAAA;EC0qGR;;ED5qGI;IAEI,kCAAA;EC8qGR;;EDhrGI;IAEI,iBAAA;ECkrGR;;EDprGI;IAEI,uBAAA;ECsrGR;;EDxrGI;IAEI,sBAAA;EC0rGR;;ED5rGI;IAEI,oBAAA;EC8rGR;;EDhsGI;IAEI,sBAAA;ECksGR;;EDpsGI;IAEI,oBAAA;ECssGR;;EDxsGI;IAEI,sCAAA;EC0sGR;;ED5sGI;IAEI,oCAAA;EC8sGR;;EDhtGI;IAEI,kCAAA;ECktGR;;EDptGI;IAEI,yCAAA;ECstGR;;EDxtGI;IAEI,wCAAA;EC0tGR;;ED5tGI;IAEI,wCAAA;EC8tGR;;EDhuGI;IAEI,kCAAA;ECkuGR;;EDpuGI;IAEI,gCAAA;ECsuGR;;EDxuGI;IAEI,8BAAA;EC0uGR;;ED5uGI;IAEI,gCAAA;EC8uGR;;EDhvGI;IAEI,+BAAA;ECkvGR;;EDpvGI;IAEI,oCAAA;ECsvGR;;EDxvGI;IAEI,kCAAA;EC0vGR;;ED5vGI;IAEI,gCAAA;EC8vGR;;EDhwGI;IAEI,uCAAA;ECkwGR;;EDpwGI;IAEI,sCAAA;ECswGR;;EDxwGI;IAEI,iCAAA;EC0wGR;;ED5wGI;IAEI,2BAAA;EC8wGR;;EDhxGI;IAEI,iCAAA;ECkxGR;;EDpxGI;IAEI,+BAAA;ECsxGR;;EDxxGI;IAEI,6BAAA;EC0xGR;;ED5xGI;IAEI,+BAAA;EC8xGR;;EDhyGI;IAEI,8BAAA;ECkyGR;;EDpyGI;IAEI,oBAAA;ECsyGR;;EDxyGI;IAEI,mBAAA;EC0yGR;;ED5yGI;IAEI,mBAAA;EC8yGR;;EDhzGI;IAEI,mBAAA;ECkzGR;;EDpzGI;IAEI,mBAAA;ECszGR;;EDxzGI;IAEI,mBAAA;EC0zGR;;ED5zGI;IAEI,mBAAA;EC8zGR;;EDh0GI;IAEI,mBAAA;ECk0GR;;EDp0GI;IAEI,oBAAA;ECs0GR;;EDx0GI;IAEI,0BAAA;EC00GR;;ED50GI;IAEI,yBAAA;EC80GR;;EDh1GI;IAEI,uBAAA;ECk1GR;;EDp1GI;IAEI,yBAAA;ECs1GR;;EDx1GI;IAEI,uBAAA;EC01GR;;ED51GI;IAEI,uBAAA;EC81GR;;EDh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,6BAAA;ECgsHR;;EDlsHI;IAEI,+BAAA;ECosHR;;EDtsHI;IAEI,6BAAA;ECwsHR;;ED1sHI;IAEI,2BAAA;EC4sHR;;ED9sHI;IAEI,4BAAA;ECgtHR;;EDltHI;IAEI,6BAAA;ECotHR;AACF;ACjsHI;EFtBE;IAEI,sBAAA;ECytHR;;ED3tHI;IAEI,uBAAA;EC6tHR;;ED/tHI;IAEI,sBAAA;ECiuHR;;EDnuHI;IAEI,0BAAA;ECquHR;;EDvuHI;IAEI,gCAAA;ECyuHR;;ED3uHI;IAEI,yBAAA;EC6uHR;;ED/uHI;IAEI,wBAAA;ECivHR;;EDnvHI;IAEI,yBAAA;ECqvHR;;EDvvHI;IAEI,6BAAA;ECyvHR;;ED3vHI;IAEI,8BAAA;EC6vHR;;ED/vHI;IAEI,wBAAA;ECiwHR;;EDnwHI;IAEI,+BAAA;ECqwHR;;EDvwHI;IAEI,wBAAA;ECywHR;;ED3wHI;IAEI,yBAAA;EC6wHR;;ED/wHI;IAEI,8BAAA;ECixHR;;EDnxHI;IAEI,iCAAA;ECqxHR;;EDvxHI;IAEI,sCAAA;ECyxHR;;ED3xHI;IAEI,yCAAA;EC6xHR;;ED/xHI;IAEI,uBAAA;ECiyHR;;EDnyHI;IAEI,uBAAA;ECqyHR;;EDvyHI;IAEI,yBAAA;ECyyHR;;ED3yHI;IAEI,yBAAA;EC6yHR;;ED/yHI;IAEI,0BAAA;ECizHR;;EDnzHI;IAEI,4BAAA;ECqzHR;;EDvzHI;IAEI,kCAAA;ECyzHR;;ED3zHI;IAEI,iBAAA;EC6zHR;;ED/zHI;IAEI,uBAAA;ECi0HR;;EDn0HI;IAEI,sBAAA;ECq0HR;;EDv0HI;IAEI,oBAAA;ECy0HR;;ED30HI;IAEI,sBAAA;EC60HR;;ED/0HI;IAEI,oBAAA;ECi1HR;;EDn1HI;IAEI,sCAAA;ECq1HR;;EDv1HI;IAEI,oCAAA;ECy1HR;;ED31HI;IAEI,kCAAA;EC61HR;;ED/1HI;IAEI,yCAAA;ECi2HR;;EDn2HI;IAEI,wCAAA;ECq2HR;;EDv2HI;IAEI,wCAAA;ECy2HR;;ED32HI;IAEI,kCAAA;EC62HR;;ED/2HI;IAEI,gCAAA;ECi3HR;;EDn3HI;IAEI,8BAAA;ECq3HR;;EDv3H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","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Utilities v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #212529 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 3rem !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #212529 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #212529 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: 0.2rem !important;\n}\n\n.rounded-2 {\n border-radius: 0.25rem !important;\n}\n\n.rounded-3 {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n\n .float-sm-right {\n float: right !important;\n }\n\n .float-sm-none {\n float: none !important;\n }\n\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-sm-0 {\n gap: 0 !important;\n }\n\n .gap-sm-1 {\n gap: 0.25rem !important;\n }\n\n .gap-sm-2 {\n gap: 0.5rem !important;\n }\n\n .gap-sm-3 {\n gap: 1rem !important;\n }\n\n .gap-sm-4 {\n gap: 1.5rem !important;\n }\n\n .gap-sm-5 {\n gap: 3rem !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n\n .mr-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ml-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n\n .text-sm-left {\n text-align: left !important;\n }\n\n .text-sm-right {\n text-align: right !important;\n }\n\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n\n .float-md-right {\n float: right !important;\n }\n\n .float-md-none {\n float: none !important;\n }\n\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-md-0 {\n gap: 0 !important;\n }\n\n .gap-md-1 {\n gap: 0.25rem !important;\n }\n\n .gap-md-2 {\n gap: 0.5rem !important;\n }\n\n .gap-md-3 {\n gap: 1rem !important;\n }\n\n .gap-md-4 {\n gap: 1.5rem !important;\n }\n\n .gap-md-5 {\n gap: 3rem !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .mr-md-0 {\n margin-right: 0 !important;\n }\n\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n\n .mr-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ml-md-0 {\n margin-left: 0 !important;\n }\n\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n\n .ml-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pr-md-0 {\n padding-right: 0 !important;\n }\n\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-md-0 {\n padding-left: 0 !important;\n }\n\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n\n .text-md-left {\n text-align: left !important;\n }\n\n .text-md-right {\n text-align: right !important;\n }\n\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n\n .float-lg-right {\n float: right !important;\n }\n\n .float-lg-none {\n float: none !important;\n }\n\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-lg-0 {\n gap: 0 !important;\n }\n\n .gap-lg-1 {\n gap: 0.25rem !important;\n }\n\n .gap-lg-2 {\n gap: 0.5rem !important;\n }\n\n .gap-lg-3 {\n gap: 1rem !important;\n }\n\n .gap-lg-4 {\n gap: 1.5rem !important;\n }\n\n .gap-lg-5 {\n gap: 3rem !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n\n .mr-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ml-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n\n .text-lg-left {\n text-align: left !important;\n }\n\n .text-lg-right {\n text-align: right !important;\n }\n\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n\n .float-xl-right {\n float: right !important;\n }\n\n .float-xl-none {\n float: none !important;\n }\n\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-xl-0 {\n gap: 0 !important;\n }\n\n .gap-xl-1 {\n gap: 0.25rem !important;\n }\n\n .gap-xl-2 {\n gap: 0.5rem !important;\n }\n\n .gap-xl-3 {\n gap: 1rem !important;\n }\n\n .gap-xl-4 {\n gap: 1.5rem !important;\n }\n\n .gap-xl-5 {\n gap: 3rem !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n\n .text-xl-left {\n text-align: left !important;\n }\n\n .text-xl-right {\n text-align: right !important;\n }\n\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n\n .float-xxl-right {\n float: right !important;\n }\n\n .float-xxl-none {\n float: none !important;\n }\n\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-xxl-0 {\n gap: 0 !important;\n }\n\n .gap-xxl-1 {\n gap: 0.25rem !important;\n }\n\n .gap-xxl-2 {\n gap: 0.5rem !important;\n }\n\n .gap-xxl-3 {\n gap: 1rem !important;\n }\n\n .gap-xxl-4 {\n gap: 1.5rem !important;\n }\n\n .gap-xxl-5 {\n gap: 3rem !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n\n .text-xxl-left {\n text-align: left !important;\n }\n\n .text-xxl-right {\n text-align: right !important;\n }\n\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-2 {\n font-size: 2rem !important;\n }\n\n .fs-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-4 {\n font-size: 1.5rem !important;\n }\n\n .fs-sm-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-sm-2 {\n font-size: 2rem !important;\n }\n\n .fs-sm-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-sm-4 {\n font-size: 1.5rem !important;\n }\n\n .fs-md-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-md-2 {\n font-size: 2rem !important;\n }\n\n .fs-md-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-md-4 {\n font-size: 1.5rem !important;\n }\n\n .fs-lg-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-lg-2 {\n font-size: 2rem !important;\n }\n\n .fs-lg-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-lg-4 {\n font-size: 1.5rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.min.css b/dist/css/bootstrap-utilities.min.css
index bb6df39be5..2229018308 100644
--- a/dist/css/bootstrap-utilities.min.css
+++ b/dist/css/bootstrap-utilities.min.css
@@ -1,7 +1,7 @@
/*!
- * Bootstrap Utilities v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap Utilities v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.left-0{left:0!important}.left-50{left:50%!important}.left-100{left:100%!important}.right-0{right:0!important}.right-50{right:50%!important}.right-100{right:100%!important}.translate-middle{transform:translateX(-50%) translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.border-0{border-width:0!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.font-italic{font-style:italic!important}.font-normal{font-style:normal!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:.25rem!important}.mr-xxl-2{margin-right:.5rem!important}.mr-xxl-3{margin-right:1rem!important}.mr-xxl-4{margin-right:1.5rem!important}.mr-xxl-5{margin-right:3rem!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:.25rem!important}.ml-xxl-2{margin-left:.5rem!important}.ml-xxl-3{margin-left:1rem!important}.ml-xxl-4{margin-left:1.5rem!important}.ml-xxl-5{margin-left:3rem!important}.ml-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:.25rem!important}.pr-xxl-2{padding-right:.5rem!important}.pr-xxl-3{padding-right:1rem!important}.pr-xxl-4{padding-right:1.5rem!important}.pr-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:.25rem!important}.pl-xxl-2{padding-left:.5rem!important}.pl-xxl-3{padding-left:1rem!important}.pl-xxl-4{padding-left:1.5rem!important}.pl-xxl-5{padding-left:3rem!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
+ */.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.left-0{left:0!important}.left-50{left:50%!important}.left-100{left:100%!important}.right-0{right:0!important}.right-50{right:50%!important}.right-100{right:100%!important}.translate-middle{transform:translateX(-50%) translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-0{border-width:0!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:.25rem!important}.mr-xxl-2{margin-right:.5rem!important}.mr-xxl-3{margin-right:1rem!important}.mr-xxl-4{margin-right:1.5rem!important}.mr-xxl-5{margin-right:3rem!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:.25rem!important}.ml-xxl-2{margin-left:.5rem!important}.ml-xxl-3{margin-left:1rem!important}.ml-xxl-4{margin-left:1.5rem!important}.ml-xxl-5{margin-left:3rem!important}.ml-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:.25rem!important}.pr-xxl-2{padding-right:.5rem!important}.pr-xxl-3{padding-right:1rem!important}.pr-xxl-4{padding-right:1.5rem!important}.pr-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:.25rem!important}.pl-xxl-2{padding-left:.5rem!important}.pl-xxl-3{padding-left:1rem!important}.pl-xxl-4{padding-left:1.5rem!important}.pl-xxl-5{padding-left:3rem!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}.fs-sm-1{font-size:2.5rem!important}.fs-sm-2{font-size:2rem!important}.fs-sm-3{font-size:1.75rem!important}.fs-sm-4{font-size:1.5rem!important}.fs-md-1{font-size:2.5rem!important}.fs-md-2{font-size:2rem!important}.fs-md-3{font-size:1.75rem!important}.fs-md-4{font-size:1.5rem!important}.fs-lg-1{font-size:2.5rem!important}.fs-lg-2{font-size:2rem!important}.fs-lg-3{font-size:1.75rem!important}.fs-lg-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*# sourceMappingURL=bootstrap-utilities.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.min.css.map b/dist/css/bootstrap-utilities.min.css.map
index 0122c7a540..4a8e323b9b 100644
--- a/dist/css/bootstrap-utilities.min.css.map
+++ b/dist/css/bootstrap-utilities.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-utilities.scss","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Utilities v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-utilities.scss","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Utilities v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap.css b/dist/css/bootstrap.css
index 58270fa82b..d72007bf53 100644
--- a/dist/css/bootstrap.css
+++ b/dist/css/bootstrap.css
@@ -1,5 +1,6 @@
+@charset "UTF-8";
/*!
- * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -71,7 +72,7 @@ hr:not([size]) {
height: 1px;
}
-h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
+h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
margin-top: 0;
margin-bottom: 0.5rem;
font-weight: 500;
@@ -81,7 +82,6 @@ h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
h1, .h1 {
font-size: calc(1.375rem + 1.5vw);
}
-
@media (min-width: 1200px) {
h1, .h1 {
font-size: 2.5rem;
@@ -91,7 +91,6 @@ h1, .h1 {
h2, .h2 {
font-size: calc(1.325rem + 0.9vw);
}
-
@media (min-width: 1200px) {
h2, .h2 {
font-size: 2rem;
@@ -101,7 +100,6 @@ h2, .h2 {
h3, .h3 {
font-size: calc(1.3rem + 0.6vw);
}
-
@media (min-width: 1200px) {
h3, .h3 {
font-size: 1.75rem;
@@ -111,7 +109,6 @@ h3, .h3 {
h4, .h4 {
font-size: calc(1.275rem + 0.3vw);
}
-
@media (min-width: 1200px) {
h4, .h4 {
font-size: 1.5rem;
@@ -171,7 +168,7 @@ dt {
}
dd {
- margin-bottom: .5rem;
+ margin-bottom: 0.5rem;
margin-left: 0;
}
@@ -202,18 +199,17 @@ sup {
}
sub {
- bottom: -.25em;
+ bottom: -0.25em;
}
sup {
- top: -.5em;
+ top: -0.5em;
}
a {
color: #0d6efd;
text-decoration: underline;
}
-
a:hover {
color: #0a58ca;
}
@@ -237,9 +233,7 @@ pre {
margin-bottom: 1rem;
overflow: auto;
font-size: 0.875em;
- -ms-overflow-style: scrollbar;
}
-
pre code {
font-size: inherit;
color: inherit;
@@ -251,7 +245,6 @@ code {
color: #d63384;
word-wrap: break-word;
}
-
a > code {
color: inherit;
}
@@ -263,7 +256,6 @@ kbd {
background-color: #212529;
border-radius: 0.2rem;
}
-
kbd kbd {
padding: 0;
font-size: 1em;
@@ -316,8 +308,8 @@ button {
}
button:focus {
- outline: 1px dotted;
- outline: 5px auto -webkit-focus-ring-color;
+ outline: dotted 1px;
+ outline: -webkit-focus-ring-color auto 5px;
}
input,
@@ -332,16 +324,11 @@ textarea {
}
button,
-input {
- overflow: visible;
-}
-
-button,
select {
text-transform: none;
}
-[role="button"] {
+[role=button] {
cursor: pointer;
}
@@ -354,16 +341,15 @@ select {
}
button,
-[type="button"],
-[type="reset"],
-[type="submit"] {
+[type=button],
+[type=reset],
+[type=submit] {
-webkit-appearance: button;
}
-
button:not(:disabled),
-[type="button"]:not(:disabled),
-[type="reset"]:not(:disabled),
-[type="submit"]:not(:disabled) {
+[type=button]:not(:disabled),
+[type=reset]:not(:disabled),
+[type=submit]:not(:disabled) {
cursor: pointer;
}
@@ -390,15 +376,12 @@ legend {
margin-bottom: 0.5rem;
font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
- white-space: normal;
}
-
@media (min-width: 1200px) {
legend {
font-size: 1.5rem;
}
}
-
legend + * {
clear: left;
}
@@ -417,7 +400,7 @@ legend + * {
height: auto;
}
-[type="search"] {
+[type=search] {
outline-offset: -2px;
-webkit-appearance: textfield;
}
@@ -430,6 +413,10 @@ legend + * {
padding: 0;
}
+::file-selector-button {
+ font: inherit;
+}
+
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
@@ -466,7 +453,6 @@ progress {
font-weight: 300;
line-height: 1.2;
}
-
@media (min-width: 1200px) {
.display-1 {
font-size: 5rem;
@@ -478,7 +464,6 @@ progress {
font-weight: 300;
line-height: 1.2;
}
-
@media (min-width: 1200px) {
.display-2 {
font-size: 4.5rem;
@@ -490,7 +475,6 @@ progress {
font-weight: 300;
line-height: 1.2;
}
-
@media (min-width: 1200px) {
.display-3 {
font-size: 4rem;
@@ -502,7 +486,6 @@ progress {
font-weight: 300;
line-height: 1.2;
}
-
@media (min-width: 1200px) {
.display-4 {
font-size: 3.5rem;
@@ -514,7 +497,6 @@ progress {
font-weight: 300;
line-height: 1.2;
}
-
@media (min-width: 1200px) {
.display-5 {
font-size: 3rem;
@@ -526,7 +508,6 @@ progress {
font-weight: 300;
line-height: 1.2;
}
-
@media (min-width: 1200px) {
.display-6 {
font-size: 2.5rem;
@@ -546,7 +527,6 @@ progress {
.list-inline-item {
display: inline-block;
}
-
.list-inline-item:not(:last-child) {
margin-right: 0.5rem;
}
@@ -560,7 +540,6 @@ progress {
margin-bottom: 1rem;
font-size: 1.25rem;
}
-
.blockquote > :last-child {
margin-bottom: 0;
}
@@ -571,9 +550,8 @@ progress {
font-size: 0.875em;
color: #6c757d;
}
-
.blockquote-footer::before {
- content: "\2014\00A0";
+ content: "— ";
}
.img-fluid {
@@ -606,11 +584,11 @@ progress {
.container,
.container-fluid,
-.container-sm,
-.container-md,
-.container-lg,
+.container-xxl,
.container-xl,
-.container-xxl {
+.container-lg,
+.container-md,
+.container-sm {
--bs-gutter-x: 1.5rem;
width: 100%;
padding-right: calc(var(--bs-gutter-x) / 2);
@@ -620,35 +598,30 @@ progress {
}
@media (min-width: 576px) {
- .container, .container-sm {
+ .container-sm, .container {
max-width: 540px;
}
}
-
@media (min-width: 768px) {
- .container, .container-sm, .container-md {
+ .container-md, .container-sm, .container {
max-width: 720px;
}
}
-
@media (min-width: 992px) {
- .container, .container-sm, .container-md, .container-lg {
+ .container-lg, .container-md, .container-sm, .container {
max-width: 960px;
}
}
-
@media (min-width: 1200px) {
- .container, .container-sm, .container-md, .container-lg, .container-xl {
+ .container-xl, .container-lg, .container-md, .container-sm, .container {
max-width: 1140px;
}
}
-
@media (min-width: 1400px) {
- .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
+ .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
max-width: 1320px;
}
}
-
.row {
--bs-gutter-x: 1.5rem;
--bs-gutter-y: 0;
@@ -658,7 +631,6 @@ progress {
margin-right: calc(var(--bs-gutter-x) / -2);
margin-left: calc(var(--bs-gutter-x) / -2);
}
-
.row > * {
flex-shrink: 0;
width: 100%;
@@ -689,7 +661,7 @@ progress {
.row-cols-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
.row-cols-4 > * {
@@ -704,7 +676,7 @@ progress {
.row-cols-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
.col-auto {
@@ -714,12 +686,12 @@ progress {
.col-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
.col-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
.col-3 {
@@ -729,12 +701,12 @@ progress {
.col-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
.col-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
.col-6 {
@@ -744,12 +716,12 @@ progress {
.col-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
.col-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
.col-9 {
@@ -759,12 +731,12 @@ progress {
.col-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
.col-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
.col-12 {
@@ -773,11 +745,11 @@ progress {
}
.offset-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
.offset-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
.offset-3 {
@@ -785,11 +757,11 @@ progress {
}
.offset-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
.offset-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
.offset-6 {
@@ -797,11 +769,11 @@ progress {
}
.offset-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
.offset-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
.offset-9 {
@@ -809,11 +781,11 @@ progress {
}
.offset-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
.offset-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
.g-0,
@@ -880,852 +852,1067 @@ progress {
.col-sm {
flex: 1 0 0%;
}
+
.row-cols-sm-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-sm-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-sm-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-sm-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-sm-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-sm-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-sm-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-sm-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-sm-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-sm-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-sm-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-sm-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-sm-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-sm-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-sm-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-sm-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-sm-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-sm-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-sm-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-sm-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-sm-0 {
margin-left: 0;
}
+
.offset-sm-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-sm-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-sm-3 {
margin-left: 25%;
}
+
.offset-sm-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-sm-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-sm-6 {
margin-left: 50%;
}
+
.offset-sm-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-sm-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-sm-9 {
margin-left: 75%;
}
+
.offset-sm-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-sm-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-sm-0,
- .gx-sm-0 {
+.gx-sm-0 {
--bs-gutter-x: 0;
}
+
.g-sm-0,
- .gy-sm-0 {
+.gy-sm-0 {
--bs-gutter-y: 0;
}
+
.g-sm-1,
- .gx-sm-1 {
+.gx-sm-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-sm-1,
- .gy-sm-1 {
+.gy-sm-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-sm-2,
- .gx-sm-2 {
+.gx-sm-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-sm-2,
- .gy-sm-2 {
+.gy-sm-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-sm-3,
- .gx-sm-3 {
+.gx-sm-3 {
--bs-gutter-x: 1rem;
}
+
.g-sm-3,
- .gy-sm-3 {
+.gy-sm-3 {
--bs-gutter-y: 1rem;
}
+
.g-sm-4,
- .gx-sm-4 {
+.gx-sm-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-sm-4,
- .gy-sm-4 {
+.gy-sm-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-sm-5,
- .gx-sm-5 {
+.gx-sm-5 {
--bs-gutter-x: 3rem;
}
+
.g-sm-5,
- .gy-sm-5 {
+.gy-sm-5 {
--bs-gutter-y: 3rem;
}
}
-
@media (min-width: 768px) {
.col-md {
flex: 1 0 0%;
}
+
.row-cols-md-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-md-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-md-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-md-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-md-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-md-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-md-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-md-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-md-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-md-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-md-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-md-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-md-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-md-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-md-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-md-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-md-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-md-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-md-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-md-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-md-0 {
margin-left: 0;
}
+
.offset-md-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-md-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-md-3 {
margin-left: 25%;
}
+
.offset-md-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-md-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-md-6 {
margin-left: 50%;
}
+
.offset-md-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-md-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-md-9 {
margin-left: 75%;
}
+
.offset-md-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-md-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-md-0,
- .gx-md-0 {
+.gx-md-0 {
--bs-gutter-x: 0;
}
+
.g-md-0,
- .gy-md-0 {
+.gy-md-0 {
--bs-gutter-y: 0;
}
+
.g-md-1,
- .gx-md-1 {
+.gx-md-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-md-1,
- .gy-md-1 {
+.gy-md-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-md-2,
- .gx-md-2 {
+.gx-md-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-md-2,
- .gy-md-2 {
+.gy-md-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-md-3,
- .gx-md-3 {
+.gx-md-3 {
--bs-gutter-x: 1rem;
}
+
.g-md-3,
- .gy-md-3 {
+.gy-md-3 {
--bs-gutter-y: 1rem;
}
+
.g-md-4,
- .gx-md-4 {
+.gx-md-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-md-4,
- .gy-md-4 {
+.gy-md-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-md-5,
- .gx-md-5 {
+.gx-md-5 {
--bs-gutter-x: 3rem;
}
+
.g-md-5,
- .gy-md-5 {
+.gy-md-5 {
--bs-gutter-y: 3rem;
}
}
-
@media (min-width: 992px) {
.col-lg {
flex: 1 0 0%;
}
+
.row-cols-lg-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-lg-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-lg-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-lg-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-lg-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-lg-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-lg-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-lg-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-lg-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-lg-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-lg-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-lg-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-lg-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-lg-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-lg-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-lg-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-lg-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-lg-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-lg-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-lg-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-lg-0 {
margin-left: 0;
}
+
.offset-lg-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-lg-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-lg-3 {
margin-left: 25%;
}
+
.offset-lg-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-lg-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-lg-6 {
margin-left: 50%;
}
+
.offset-lg-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-lg-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-lg-9 {
margin-left: 75%;
}
+
.offset-lg-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-lg-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-lg-0,
- .gx-lg-0 {
+.gx-lg-0 {
--bs-gutter-x: 0;
}
+
.g-lg-0,
- .gy-lg-0 {
+.gy-lg-0 {
--bs-gutter-y: 0;
}
+
.g-lg-1,
- .gx-lg-1 {
+.gx-lg-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-lg-1,
- .gy-lg-1 {
+.gy-lg-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-lg-2,
- .gx-lg-2 {
+.gx-lg-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-lg-2,
- .gy-lg-2 {
+.gy-lg-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-lg-3,
- .gx-lg-3 {
+.gx-lg-3 {
--bs-gutter-x: 1rem;
}
+
.g-lg-3,
- .gy-lg-3 {
+.gy-lg-3 {
--bs-gutter-y: 1rem;
}
+
.g-lg-4,
- .gx-lg-4 {
+.gx-lg-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-lg-4,
- .gy-lg-4 {
+.gy-lg-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-lg-5,
- .gx-lg-5 {
+.gx-lg-5 {
--bs-gutter-x: 3rem;
}
+
.g-lg-5,
- .gy-lg-5 {
+.gy-lg-5 {
--bs-gutter-y: 3rem;
}
}
-
@media (min-width: 1200px) {
.col-xl {
flex: 1 0 0%;
}
+
.row-cols-xl-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-xl-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-xl-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-xl-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-xl-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-xl-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-xl-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-xl-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-xl-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-xl-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-xl-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-xl-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-xl-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-xl-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-xl-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-xl-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-xl-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-xl-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-xl-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-xl-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-xl-0 {
margin-left: 0;
}
+
.offset-xl-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-xl-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-xl-3 {
margin-left: 25%;
}
+
.offset-xl-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-xl-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-xl-6 {
margin-left: 50%;
}
+
.offset-xl-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-xl-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-xl-9 {
margin-left: 75%;
}
+
.offset-xl-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-xl-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-xl-0,
- .gx-xl-0 {
+.gx-xl-0 {
--bs-gutter-x: 0;
}
+
.g-xl-0,
- .gy-xl-0 {
+.gy-xl-0 {
--bs-gutter-y: 0;
}
+
.g-xl-1,
- .gx-xl-1 {
+.gx-xl-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-xl-1,
- .gy-xl-1 {
+.gy-xl-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-xl-2,
- .gx-xl-2 {
+.gx-xl-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-xl-2,
- .gy-xl-2 {
+.gy-xl-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-xl-3,
- .gx-xl-3 {
+.gx-xl-3 {
--bs-gutter-x: 1rem;
}
+
.g-xl-3,
- .gy-xl-3 {
+.gy-xl-3 {
--bs-gutter-y: 1rem;
}
+
.g-xl-4,
- .gx-xl-4 {
+.gx-xl-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-xl-4,
- .gy-xl-4 {
+.gy-xl-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-xl-5,
- .gx-xl-5 {
+.gx-xl-5 {
--bs-gutter-x: 3rem;
}
+
.g-xl-5,
- .gy-xl-5 {
+.gy-xl-5 {
--bs-gutter-y: 3rem;
}
}
-
@media (min-width: 1400px) {
.col-xxl {
flex: 1 0 0%;
}
+
.row-cols-xxl-auto > * {
flex: 0 0 auto;
width: auto;
}
+
.row-cols-xxl-1 > * {
flex: 0 0 auto;
width: 100%;
}
+
.row-cols-xxl-2 > * {
flex: 0 0 auto;
width: 50%;
}
+
.row-cols-xxl-3 > * {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.row-cols-xxl-4 > * {
flex: 0 0 auto;
width: 25%;
}
+
.row-cols-xxl-5 > * {
flex: 0 0 auto;
width: 20%;
}
+
.row-cols-xxl-6 > * {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-xxl-auto {
flex: 0 0 auto;
width: auto;
}
+
.col-xxl-1 {
flex: 0 0 auto;
- width: 8.333333%;
+ width: 8.3333333333%;
}
+
.col-xxl-2 {
flex: 0 0 auto;
- width: 16.666667%;
+ width: 16.6666666667%;
}
+
.col-xxl-3 {
flex: 0 0 auto;
width: 25%;
}
+
.col-xxl-4 {
flex: 0 0 auto;
- width: 33.333333%;
+ width: 33.3333333333%;
}
+
.col-xxl-5 {
flex: 0 0 auto;
- width: 41.666667%;
+ width: 41.6666666667%;
}
+
.col-xxl-6 {
flex: 0 0 auto;
width: 50%;
}
+
.col-xxl-7 {
flex: 0 0 auto;
- width: 58.333333%;
+ width: 58.3333333333%;
}
+
.col-xxl-8 {
flex: 0 0 auto;
- width: 66.666667%;
+ width: 66.6666666667%;
}
+
.col-xxl-9 {
flex: 0 0 auto;
width: 75%;
}
+
.col-xxl-10 {
flex: 0 0 auto;
- width: 83.333333%;
+ width: 83.3333333333%;
}
+
.col-xxl-11 {
flex: 0 0 auto;
- width: 91.666667%;
+ width: 91.6666666667%;
}
+
.col-xxl-12 {
flex: 0 0 auto;
width: 100%;
}
+
.offset-xxl-0 {
margin-left: 0;
}
+
.offset-xxl-1 {
- margin-left: 8.333333%;
+ margin-left: 8.3333333333%;
}
+
.offset-xxl-2 {
- margin-left: 16.666667%;
+ margin-left: 16.6666666667%;
}
+
.offset-xxl-3 {
margin-left: 25%;
}
+
.offset-xxl-4 {
- margin-left: 33.333333%;
+ margin-left: 33.3333333333%;
}
+
.offset-xxl-5 {
- margin-left: 41.666667%;
+ margin-left: 41.6666666667%;
}
+
.offset-xxl-6 {
margin-left: 50%;
}
+
.offset-xxl-7 {
- margin-left: 58.333333%;
+ margin-left: 58.3333333333%;
}
+
.offset-xxl-8 {
- margin-left: 66.666667%;
+ margin-left: 66.6666666667%;
}
+
.offset-xxl-9 {
margin-left: 75%;
}
+
.offset-xxl-10 {
- margin-left: 83.333333%;
+ margin-left: 83.3333333333%;
}
+
.offset-xxl-11 {
- margin-left: 91.666667%;
+ margin-left: 91.6666666667%;
}
+
.g-xxl-0,
- .gx-xxl-0 {
+.gx-xxl-0 {
--bs-gutter-x: 0;
}
+
.g-xxl-0,
- .gy-xxl-0 {
+.gy-xxl-0 {
--bs-gutter-y: 0;
}
+
.g-xxl-1,
- .gx-xxl-1 {
+.gx-xxl-1 {
--bs-gutter-x: 0.25rem;
}
+
.g-xxl-1,
- .gy-xxl-1 {
+.gy-xxl-1 {
--bs-gutter-y: 0.25rem;
}
+
.g-xxl-2,
- .gx-xxl-2 {
+.gx-xxl-2 {
--bs-gutter-x: 0.5rem;
}
+
.g-xxl-2,
- .gy-xxl-2 {
+.gy-xxl-2 {
--bs-gutter-y: 0.5rem;
}
+
.g-xxl-3,
- .gx-xxl-3 {
+.gx-xxl-3 {
--bs-gutter-x: 1rem;
}
+
.g-xxl-3,
- .gy-xxl-3 {
+.gy-xxl-3 {
--bs-gutter-y: 1rem;
}
+
.g-xxl-4,
- .gx-xxl-4 {
+.gx-xxl-4 {
--bs-gutter-x: 1.5rem;
}
+
.g-xxl-4,
- .gy-xxl-4 {
+.gy-xxl-4 {
--bs-gutter-y: 1.5rem;
}
+
.g-xxl-5,
- .gx-xxl-5 {
+.gx-xxl-5 {
--bs-gutter-x: 3rem;
}
+
.g-xxl-5,
- .gy-xxl-5 {
+.gy-xxl-5 {
--bs-gutter-y: 3rem;
}
}
-
.table {
--bs-table-bg: transparent;
--bs-table-accent-bg: transparent;
@@ -1741,22 +1928,18 @@ progress {
vertical-align: top;
border-color: #dee2e6;
}
-
.table > :not(caption) > * > * {
padding: 0.5rem 0.5rem;
background-color: var(--bs-table-bg);
background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
border-bottom-width: 1px;
}
-
.table > tbody {
vertical-align: inherit;
}
-
.table > thead {
vertical-align: bottom;
}
-
.table > :not(:last-child) > :last-child > * {
border-bottom-color: currentColor;
}
@@ -1772,7 +1955,6 @@ progress {
.table-bordered > :not(caption) > * {
border-width: 1px 0;
}
-
.table-bordered > :not(caption) > * > * {
border-width: 0 1px;
}
@@ -1903,35 +2085,30 @@ progress {
-webkit-overflow-scrolling: touch;
}
}
-
@media (max-width: 767.98px) {
.table-responsive-md {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
-
@media (max-width: 991.98px) {
.table-responsive-lg {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
-
@media (max-width: 1199.98px) {
.table-responsive-xl {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
-
@media (max-width: 1399.98px) {
.table-responsive-xxl {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
-
.form-label {
margin-bottom: 0.5rem;
}
@@ -1965,7 +2142,6 @@ progress {
.form-control {
display: block;
width: 100%;
- min-height: calc(1.5em + 0.75rem + 2px);
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
@@ -1980,13 +2156,17 @@ progress {
border-radius: 0.25rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
-
@media (prefers-reduced-motion: reduce) {
.form-control {
transition: none;
}
}
-
+.form-control[type=file] {
+ overflow: hidden;
+}
+.form-control[type=file]:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
.form-control:focus {
color: #212529;
background-color: #fff;
@@ -1994,31 +2174,73 @@ progress {
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
-
+.form-control::-webkit-date-and-time-value {
+ height: 1.5em;
+}
.form-control::-webkit-input-placeholder {
color: #6c757d;
opacity: 1;
}
-
.form-control::-moz-placeholder {
color: #6c757d;
opacity: 1;
}
-
-.form-control::-ms-input-placeholder {
- color: #6c757d;
- opacity: 1;
-}
-
.form-control::placeholder {
color: #6c757d;
opacity: 1;
}
-
.form-control:disabled, .form-control[readonly] {
background-color: #e9ecef;
opacity: 1;
}
+.form-control::file-selector-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::file-selector-button {
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
+ background-color: #dde0e3;
+}
+.form-control::-webkit-file-upload-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::-webkit-file-upload-button {
+ -webkit-transition: none;
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
+ background-color: #dde0e3;
+}
.form-control-plaintext {
display: block;
@@ -2031,7 +2253,6 @@ progress {
border: solid transparent;
border-width: 1px 0;
}
-
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
padding-right: 0;
padding-left: 0;
@@ -2043,6 +2264,18 @@ progress {
font-size: 0.875rem;
border-radius: 0.2rem;
}
+.form-control-sm::file-selector-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+.form-control-sm::-webkit-file-upload-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
.form-control-lg {
min-height: calc(1.5em + 1rem + 2px);
@@ -2050,24 +2283,49 @@ progress {
font-size: 1.25rem;
border-radius: 0.3rem;
}
+.form-control-lg::file-selector-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+.form-control-lg::-webkit-file-upload-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+
+textarea.form-control {
+ min-height: calc(1.5em + 0.75rem + 2px);
+}
+textarea.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + 2px);
+}
+textarea.form-control-lg {
+ min-height: calc(1.5em + 1rem + 2px);
+}
.form-control-color {
max-width: 3rem;
+ height: auto;
padding: 0.375rem;
}
-
+.form-control-color:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
.form-control-color::-moz-color-swatch {
+ height: 1.5em;
border-radius: 0.25rem;
}
-
.form-control-color::-webkit-color-swatch {
+ height: 1.5em;
border-radius: 0.25rem;
}
.form-select {
display: block;
width: 100%;
- min-height: calc(1.5em + 0.75rem + 2px);
padding: 0.375rem 1.75rem 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
@@ -2085,36 +2343,25 @@ progress {
-moz-appearance: none;
appearance: none;
}
-
.form-select:focus {
border-color: #86b7fe;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
-
-.form-select:focus::-ms-value {
- color: #212529;
- background-color: #fff;
-}
-
.form-select[multiple], .form-select[size]:not([size="1"]) {
- height: auto;
padding-right: 0.75rem;
background-image: none;
}
-
.form-select:disabled {
color: #6c757d;
background-color: #e9ecef;
}
-
.form-select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #212529;
}
.form-select-sm {
- height: calc(1.5em + 0.5rem + 2px);
padding-top: 0.25rem;
padding-bottom: 0.25rem;
padding-left: 0.5rem;
@@ -2122,7 +2369,6 @@ progress {
}
.form-select-lg {
- height: calc(1.5em + 1rem + 2px);
padding-top: 0.5rem;
padding-bottom: 0.5rem;
padding-left: 1rem;
@@ -2135,7 +2381,6 @@ progress {
padding-left: 1.5em;
margin-bottom: 0.125rem;
}
-
.form-check .form-check-input {
float: left;
margin-left: -1.5em;
@@ -2158,56 +2403,45 @@ progress {
color-adjust: exact;
transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
-
@media (prefers-reduced-motion: reduce) {
.form-check-input {
transition: none;
}
}
-
-.form-check-input[type="checkbox"] {
+.form-check-input[type=checkbox] {
border-radius: 0.25em;
}
-
-.form-check-input[type="radio"] {
+.form-check-input[type=radio] {
border-radius: 50%;
}
-
.form-check-input:active {
filter: brightness(90%);
}
-
.form-check-input:focus {
border-color: #86b7fe;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
-
.form-check-input:checked {
background-color: #0d6efd;
border-color: #0d6efd;
}
-
-.form-check-input:checked[type="checkbox"] {
+.form-check-input:checked[type=checkbox] {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
-
-.form-check-input:checked[type="radio"] {
+.form-check-input:checked[type=radio] {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
-
-.form-check-input[type="checkbox"]:indeterminate {
+.form-check-input[type=checkbox]:indeterminate {
background-color: #0d6efd;
border-color: #0d6efd;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
-
.form-check-input:disabled {
pointer-events: none;
filter: none;
opacity: 0.5;
}
-
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
opacity: 0.5;
}
@@ -2215,7 +2449,6 @@ progress {
.form-switch {
padding-left: 2.5em;
}
-
.form-switch .form-check-input {
width: 2em;
margin-left: -2.5em;
@@ -2223,11 +2456,9 @@ progress {
background-position: left center;
border-radius: 2em;
}
-
.form-switch .form-check-input:focus {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
}
-
.form-switch .form-check-input:checked {
background-position: right center;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
@@ -2243,102 +2474,12 @@ progress {
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
-
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
pointer-events: none;
filter: none;
opacity: 0.65;
}
-.form-file {
- --bs-form-file-height: calc(1.5em + 0.75rem + 2px);
- position: relative;
-}
-
-.form-file-input {
- position: relative;
- z-index: 2;
- width: 100%;
- height: var(--bs-form-file-height);
- margin: 0;
- opacity: 0;
-}
-
-.form-file-input:focus-within ~ .form-file-label {
- border-color: #86b7fe;
- box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-}
-
-.form-file-input[disabled] ~ .form-file-label .form-file-text,
-.form-file-input:disabled ~ .form-file-label .form-file-text {
- background-color: #e9ecef;
-}
-
-.form-file-label {
- position: absolute;
- top: 0;
- right: 0;
- left: 0;
- z-index: 1;
- display: flex;
- height: var(--bs-form-file-height);
- border-color: #ced4da;
- border-radius: 0.25rem;
-}
-
-.form-file-text {
- display: block;
- flex-grow: 1;
- padding: 0.375rem 0.75rem;
- overflow: hidden;
- font-weight: 400;
- line-height: 1.5;
- color: #212529;
- text-overflow: ellipsis;
- white-space: nowrap;
- background-color: #fff;
- border-color: inherit;
- border-style: solid;
- border-width: 1px;
- border-top-left-radius: inherit;
- border-bottom-left-radius: inherit;
-}
-
-.form-file-button {
- display: block;
- flex-shrink: 0;
- padding: 0.375rem 0.75rem;
- margin-left: -1px;
- line-height: 1.5;
- color: #212529;
- background-color: #e9ecef;
- border-color: inherit;
- border-style: solid;
- border-width: 1px;
- border-top-right-radius: inherit;
- border-bottom-right-radius: inherit;
-}
-
-.form-file-sm {
- --bs-form-file-height: calc(1.5em + 0.5rem + 2px);
- font-size: 0.875rem;
-}
-
-.form-file-sm .form-file-text,
-.form-file-sm .form-file-button {
- padding: 0.25rem 0.5rem;
-}
-
-.form-file-lg {
- --bs-form-file-height: calc(1.5em + 1rem + 2px);
- font-size: 1.25rem;
-}
-
-.form-file-lg .form-file-text,
-.form-file-lg .form-file-button {
- padding: 0.5rem 1rem;
-}
-
.form-range {
width: 100%;
height: 1.5rem;
@@ -2348,27 +2489,18 @@ progress {
-moz-appearance: none;
appearance: none;
}
-
.form-range:focus {
outline: none;
}
-
.form-range:focus::-webkit-slider-thumb {
box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
-
.form-range:focus::-moz-range-thumb {
box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
-
-.form-range:focus::-ms-thumb {
- box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-}
-
.form-range::-moz-focus-outer {
border: 0;
}
-
.form-range::-webkit-slider-thumb {
width: 1rem;
height: 1rem;
@@ -2381,18 +2513,15 @@ progress {
-webkit-appearance: none;
appearance: none;
}
-
@media (prefers-reduced-motion: reduce) {
.form-range::-webkit-slider-thumb {
-webkit-transition: none;
transition: none;
}
}
-
.form-range::-webkit-slider-thumb:active {
background-color: #b6d4fe;
}
-
.form-range::-webkit-slider-runnable-track {
width: 100%;
height: 0.5rem;
@@ -2402,7 +2531,6 @@ progress {
border-color: transparent;
border-radius: 1rem;
}
-
.form-range::-moz-range-thumb {
width: 1rem;
height: 1rem;
@@ -2414,18 +2542,15 @@ progress {
-moz-appearance: none;
appearance: none;
}
-
@media (prefers-reduced-motion: reduce) {
.form-range::-moz-range-thumb {
-moz-transition: none;
transition: none;
}
}
-
.form-range::-moz-range-thumb:active {
background-color: #b6d4fe;
}
-
.form-range::-moz-range-track {
width: 100%;
height: 0.5rem;
@@ -2435,79 +2560,24 @@ progress {
border-color: transparent;
border-radius: 1rem;
}
-
-.form-range::-ms-thumb {
- width: 1rem;
- height: 1rem;
- margin-top: 0;
- margin-right: 0.25rem;
- margin-left: 0.25rem;
- background-color: #0d6efd;
- border: 0;
- border-radius: 1rem;
- -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
- transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
- appearance: none;
-}
-
-@media (prefers-reduced-motion: reduce) {
- .form-range::-ms-thumb {
- -ms-transition: none;
- transition: none;
- }
-}
-
-.form-range::-ms-thumb:active {
- background-color: #b6d4fe;
-}
-
-.form-range::-ms-track {
- width: 100%;
- height: 0.5rem;
- color: transparent;
- cursor: pointer;
- background-color: transparent;
- border-color: transparent;
- border-width: 0.5rem;
-}
-
-.form-range::-ms-fill-lower {
- background-color: #dee2e6;
- border-radius: 1rem;
-}
-
-.form-range::-ms-fill-upper {
- margin-right: 15px;
- background-color: #dee2e6;
- border-radius: 1rem;
-}
-
.form-range:disabled {
pointer-events: none;
}
-
.form-range:disabled::-webkit-slider-thumb {
background-color: #adb5bd;
}
-
.form-range:disabled::-moz-range-thumb {
background-color: #adb5bd;
}
-.form-range:disabled::-ms-thumb {
- background-color: #adb5bd;
-}
-
.form-floating {
position: relative;
}
-
.form-floating > .form-control,
.form-floating > .form-select {
height: calc(3.5rem + 2px);
padding: 1rem 0.75rem;
}
-
.form-floating > label {
position: absolute;
top: 0;
@@ -2519,83 +2589,51 @@ progress {
transform-origin: 0 0;
transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
-
@media (prefers-reduced-motion: reduce) {
.form-floating > label {
transition: none;
}
}
-
.form-floating > .form-control::-webkit-input-placeholder {
color: transparent;
}
-
.form-floating > .form-control::-moz-placeholder {
color: transparent;
}
-
-.form-floating > .form-control::-ms-input-placeholder {
- color: transparent;
-}
-
.form-floating > .form-control::placeholder {
color: transparent;
}
-
.form-floating > .form-control:not(:-moz-placeholder-shown) {
padding-top: 1.625rem;
padding-bottom: 0.625rem;
}
-
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
padding-top: 1.625rem;
padding-bottom: 0.625rem;
}
-
.form-floating > .form-control:-webkit-autofill {
padding-top: 1.625rem;
padding-bottom: 0.625rem;
}
-
.form-floating > .form-select {
padding-top: 1.625rem;
padding-bottom: 0.625rem;
}
-
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
opacity: 0.65;
transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
-
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
opacity: 0.65;
transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
-
.form-floating > .form-control:-webkit-autofill ~ label {
opacity: 0.65;
transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
-@supports (-ms-ime-align: auto) {
- .form-floating {
- display: flex;
- flex-direction: column-reverse;
- }
- .form-floating > label {
- position: static;
- padding: 0;
- margin-bottom: calc(1rem / 2);
- border: 0;
- transition: none;
- }
- .form-floating > .form-control::-ms-input-placeholder {
- color: #6c757d;
- }
-}
-
.input-group {
position: relative;
display: flex;
@@ -2603,41 +2641,21 @@ progress {
align-items: stretch;
width: 100%;
}
-
.input-group > .form-control,
-.input-group > .form-select,
-.input-group > .form-file {
+.input-group > .form-select {
position: relative;
flex: 1 1 auto;
width: 1%;
min-width: 0;
}
-
.input-group > .form-control:focus,
-.input-group > .form-select:focus,
-.input-group > .form-file .form-file-input:focus ~ .form-file-label {
+.input-group > .form-select:focus {
z-index: 3;
}
-
-.input-group > .form-file > .form-file-input:focus {
- z-index: 4;
-}
-
-.input-group > .form-file:not(:last-child) > .form-file-label {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.input-group > .form-file:not(:first-child) > .form-file-label {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
-}
-
.input-group .btn {
position: relative;
z-index: 2;
}
-
.input-group .btn:focus {
z-index: 3;
}
@@ -2657,14 +2675,6 @@ progress {
border-radius: 0.25rem;
}
-.input-group-lg > .form-control {
- min-height: calc(1.5em + 1rem + 2px);
-}
-
-.input-group-lg > .form-select {
- height: calc(1.5em + 1rem + 2px);
-}
-
.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
@@ -2674,14 +2684,6 @@ progress {
border-radius: 0.3rem;
}
-.input-group-sm > .form-control {
- min-height: calc(1.5em + 0.5rem + 2px);
-}
-
-.input-group-sm > .form-select {
- height: calc(1.5em + 0.5rem + 2px);
-}
-
.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
@@ -2697,17 +2699,15 @@ progress {
}
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
-.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3) {
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
-
-.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),
-.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4) {
+.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
-
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
margin-left: -1px;
border-top-left-radius: 0;
@@ -2729,7 +2729,7 @@ progress {
display: none;
max-width: 100%;
padding: 0.25rem 0.5rem;
- margin-top: .1rem;
+ margin-top: 0.1rem;
font-size: 0.875rem;
color: #fff;
background-color: rgba(25, 135, 84, 0.9);
@@ -2751,7 +2751,6 @@ progress {
background-position: right calc(0.375em + 0.1875rem) center;
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
-
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
border-color: #198754;
box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
@@ -2769,7 +2768,6 @@ progress {
background-position: right 0.75rem center, center right 1.75rem;
background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
-
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
border-color: #198754;
box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
@@ -2778,30 +2776,18 @@ progress {
.was-validated .form-check-input:valid, .form-check-input.is-valid {
border-color: #198754;
}
-
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
background-color: #198754;
}
-
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}
-
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
color: #198754;
}
.form-check-inline .form-check-input ~ .valid-feedback {
- margin-left: .5em;
-}
-
-.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {
- border-color: #198754;
-}
-
-.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {
- border-color: #198754;
- box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
+ margin-left: 0.5em;
}
.invalid-feedback {
@@ -2819,7 +2805,7 @@ progress {
display: none;
max-width: 100%;
padding: 0.25rem 0.5rem;
- margin-top: .1rem;
+ margin-top: 0.1rem;
font-size: 0.875rem;
color: #fff;
background-color: rgba(220, 53, 69, 0.9);
@@ -2836,12 +2822,11 @@ progress {
.was-validated .form-control:invalid, .form-control.is-invalid {
border-color: #dc3545;
padding-right: calc(1.5em + 0.75rem);
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right calc(0.375em + 0.1875rem) center;
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
-
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
border-color: #dc3545;
box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
@@ -2855,11 +2840,10 @@ progress {
.was-validated .form-select:invalid, .form-select.is-invalid {
border-color: #dc3545;
padding-right: calc(0.75em + 2.3125rem);
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
background-position: right 0.75rem center, center right 1.75rem;
background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
-
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
border-color: #dc3545;
box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
@@ -2868,30 +2852,18 @@ progress {
.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
border-color: #dc3545;
}
-
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
background-color: #dc3545;
}
-
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
-
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
color: #dc3545;
}
.form-check-inline .form-check-input ~ .invalid-feedback {
- margin-left: .5em;
-}
-
-.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {
- border-color: #dc3545;
-}
-
-.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {
- border-color: #dc3545;
- box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
+ margin-left: 0.5em;
}
.btn {
@@ -2905,7 +2877,6 @@ progress {
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
- -ms-user-select: none;
user-select: none;
background-color: transparent;
border: 1px solid transparent;
@@ -2914,24 +2885,19 @@ progress {
border-radius: 0.25rem;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
-
@media (prefers-reduced-motion: reduce) {
.btn {
transition: none;
}
}
-
.btn:hover {
color: #212529;
}
-
.btn-check:focus + .btn, .btn:focus {
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
-
-.btn:disabled, .btn.disabled,
-fieldset:disabled .btn {
+.btn:disabled, .btn.disabled, fieldset:disabled .btn {
pointer-events: none;
opacity: 0.65;
}
@@ -2941,34 +2907,25 @@ fieldset:disabled .btn {
background-color: #0d6efd;
border-color: #0d6efd;
}
-
.btn-primary:hover {
color: #fff;
background-color: #0b5ed7;
border-color: #0a58ca;
}
-
.btn-check:focus + .btn-primary, .btn-primary:focus {
color: #fff;
background-color: #0b5ed7;
border-color: #0a58ca;
box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
}
-
-.btn-check:checked + .btn-primary,
-.btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active,
-.show > .btn-primary.dropdown-toggle {
+.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
color: #fff;
background-color: #0a58ca;
border-color: #0a53be;
}
-
-.btn-check:checked + .btn-primary:focus,
-.btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus,
-.show > .btn-primary.dropdown-toggle:focus {
+.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {
box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
}
-
.btn-primary:disabled, .btn-primary.disabled {
color: #fff;
background-color: #0d6efd;
@@ -2980,34 +2937,25 @@ fieldset:disabled .btn {
background-color: #6c757d;
border-color: #6c757d;
}
-
.btn-secondary:hover {
color: #fff;
background-color: #5c636a;
border-color: #565e64;
}
-
.btn-check:focus + .btn-secondary, .btn-secondary:focus {
color: #fff;
background-color: #5c636a;
border-color: #565e64;
box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
}
-
-.btn-check:checked + .btn-secondary,
-.btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active,
-.show > .btn-secondary.dropdown-toggle {
+.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
color: #fff;
background-color: #565e64;
border-color: #51585e;
}
-
-.btn-check:checked + .btn-secondary:focus,
-.btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus,
-.show > .btn-secondary.dropdown-toggle:focus {
+.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {
box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
}
-
.btn-secondary:disabled, .btn-secondary.disabled {
color: #fff;
background-color: #6c757d;
@@ -3019,34 +2967,25 @@ fieldset:disabled .btn {
background-color: #198754;
border-color: #198754;
}
-
.btn-success:hover {
color: #fff;
background-color: #157347;
border-color: #146c43;
}
-
.btn-check:focus + .btn-success, .btn-success:focus {
color: #fff;
background-color: #157347;
border-color: #146c43;
box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
}
-
-.btn-check:checked + .btn-success,
-.btn-check:active + .btn-success, .btn-success:active, .btn-success.active,
-.show > .btn-success.dropdown-toggle {
+.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {
color: #fff;
background-color: #146c43;
border-color: #13653f;
}
-
-.btn-check:checked + .btn-success:focus,
-.btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus,
-.show > .btn-success.dropdown-toggle:focus {
+.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {
box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
}
-
.btn-success:disabled, .btn-success.disabled {
color: #fff;
background-color: #198754;
@@ -3058,34 +2997,25 @@ fieldset:disabled .btn {
background-color: #0dcaf0;
border-color: #0dcaf0;
}
-
.btn-info:hover {
color: #000;
background-color: #31d2f2;
border-color: #25cff2;
}
-
.btn-check:focus + .btn-info, .btn-info:focus {
color: #000;
background-color: #31d2f2;
border-color: #25cff2;
box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);
}
-
-.btn-check:checked + .btn-info,
-.btn-check:active + .btn-info, .btn-info:active, .btn-info.active,
-.show > .btn-info.dropdown-toggle {
+.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {
color: #000;
background-color: #3dd5f3;
border-color: #25cff2;
}
-
-.btn-check:checked + .btn-info:focus,
-.btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus,
-.show > .btn-info.dropdown-toggle:focus {
+.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {
box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);
}
-
.btn-info:disabled, .btn-info.disabled {
color: #000;
background-color: #0dcaf0;
@@ -3097,34 +3027,25 @@ fieldset:disabled .btn {
background-color: #ffc107;
border-color: #ffc107;
}
-
.btn-warning:hover {
color: #000;
background-color: #ffca2c;
border-color: #ffc720;
}
-
.btn-check:focus + .btn-warning, .btn-warning:focus {
color: #000;
background-color: #ffca2c;
border-color: #ffc720;
box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
}
-
-.btn-check:checked + .btn-warning,
-.btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active,
-.show > .btn-warning.dropdown-toggle {
+.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {
color: #000;
background-color: #ffcd39;
border-color: #ffc720;
}
-
-.btn-check:checked + .btn-warning:focus,
-.btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus,
-.show > .btn-warning.dropdown-toggle:focus {
+.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {
box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
}
-
.btn-warning:disabled, .btn-warning.disabled {
color: #000;
background-color: #ffc107;
@@ -3136,34 +3057,25 @@ fieldset:disabled .btn {
background-color: #dc3545;
border-color: #dc3545;
}
-
.btn-danger:hover {
color: #fff;
background-color: #bb2d3b;
border-color: #b02a37;
}
-
.btn-check:focus + .btn-danger, .btn-danger:focus {
color: #fff;
background-color: #bb2d3b;
border-color: #b02a37;
box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
}
-
-.btn-check:checked + .btn-danger,
-.btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active,
-.show > .btn-danger.dropdown-toggle {
+.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {
color: #fff;
background-color: #b02a37;
border-color: #a52834;
}
-
-.btn-check:checked + .btn-danger:focus,
-.btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus,
-.show > .btn-danger.dropdown-toggle:focus {
+.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {
box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
}
-
.btn-danger:disabled, .btn-danger.disabled {
color: #fff;
background-color: #dc3545;
@@ -3175,34 +3087,25 @@ fieldset:disabled .btn {
background-color: #f8f9fa;
border-color: #f8f9fa;
}
-
.btn-light:hover {
color: #000;
background-color: #f9fafb;
border-color: #f9fafb;
}
-
.btn-check:focus + .btn-light, .btn-light:focus {
color: #000;
background-color: #f9fafb;
border-color: #f9fafb;
box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
}
-
-.btn-check:checked + .btn-light,
-.btn-check:active + .btn-light, .btn-light:active, .btn-light.active,
-.show > .btn-light.dropdown-toggle {
+.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {
color: #000;
background-color: #f9fafb;
border-color: #f9fafb;
}
-
-.btn-check:checked + .btn-light:focus,
-.btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus,
-.show > .btn-light.dropdown-toggle:focus {
+.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {
box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
}
-
.btn-light:disabled, .btn-light.disabled {
color: #000;
background-color: #f8f9fa;
@@ -3214,34 +3117,25 @@ fieldset:disabled .btn {
background-color: #212529;
border-color: #212529;
}
-
.btn-dark:hover {
color: #fff;
background-color: #1c1f23;
border-color: #1a1e21;
}
-
.btn-check:focus + .btn-dark, .btn-dark:focus {
color: #fff;
background-color: #1c1f23;
border-color: #1a1e21;
box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
}
-
-.btn-check:checked + .btn-dark,
-.btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active,
-.show > .btn-dark.dropdown-toggle {
+.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {
color: #fff;
background-color: #1a1e21;
border-color: #191c1f;
}
-
-.btn-check:checked + .btn-dark:focus,
-.btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus,
-.show > .btn-dark.dropdown-toggle:focus {
+.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {
box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
}
-
.btn-dark:disabled, .btn-dark.disabled {
color: #fff;
background-color: #212529;
@@ -3252,29 +3146,22 @@ fieldset:disabled .btn {
color: #0d6efd;
border-color: #0d6efd;
}
-
.btn-outline-primary:hover {
color: #fff;
background-color: #0d6efd;
border-color: #0d6efd;
}
-
.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
}
-
-.btn-check:checked + .btn-outline-primary,
-.btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
+.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
color: #fff;
background-color: #0d6efd;
border-color: #0d6efd;
}
-
-.btn-check:checked + .btn-outline-primary:focus,
-.btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
+.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
}
-
.btn-outline-primary:disabled, .btn-outline-primary.disabled {
color: #0d6efd;
background-color: transparent;
@@ -3284,29 +3171,22 @@ fieldset:disabled .btn {
color: #6c757d;
border-color: #6c757d;
}
-
.btn-outline-secondary:hover {
color: #fff;
background-color: #6c757d;
border-color: #6c757d;
}
-
.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {
box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
}
-
-.btn-check:checked + .btn-outline-secondary,
-.btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
+.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
color: #fff;
background-color: #6c757d;
border-color: #6c757d;
}
-
-.btn-check:checked + .btn-outline-secondary:focus,
-.btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
+.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
}
-
.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {
color: #6c757d;
background-color: transparent;
@@ -3316,29 +3196,22 @@ fieldset:disabled .btn {
color: #198754;
border-color: #198754;
}
-
.btn-outline-success:hover {
color: #fff;
background-color: #198754;
border-color: #198754;
}
-
.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {
box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
}
-
-.btn-check:checked + .btn-outline-success,
-.btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
+.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
color: #fff;
background-color: #198754;
border-color: #198754;
}
-
-.btn-check:checked + .btn-outline-success:focus,
-.btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
+.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
}
-
.btn-outline-success:disabled, .btn-outline-success.disabled {
color: #198754;
background-color: transparent;
@@ -3348,29 +3221,22 @@ fieldset:disabled .btn {
color: #0dcaf0;
border-color: #0dcaf0;
}
-
.btn-outline-info:hover {
color: #000;
background-color: #0dcaf0;
border-color: #0dcaf0;
}
-
.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {
box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);
}
-
-.btn-check:checked + .btn-outline-info,
-.btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
+.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
color: #000;
background-color: #0dcaf0;
border-color: #0dcaf0;
}
-
-.btn-check:checked + .btn-outline-info:focus,
-.btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
+.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);
}
-
.btn-outline-info:disabled, .btn-outline-info.disabled {
color: #0dcaf0;
background-color: transparent;
@@ -3380,29 +3246,22 @@ fieldset:disabled .btn {
color: #ffc107;
border-color: #ffc107;
}
-
.btn-outline-warning:hover {
color: #000;
background-color: #ffc107;
border-color: #ffc107;
}
-
.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {
box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);
}
-
-.btn-check:checked + .btn-outline-warning,
-.btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
+.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
color: #000;
background-color: #ffc107;
border-color: #ffc107;
}
-
-.btn-check:checked + .btn-outline-warning:focus,
-.btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
+.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);
}
-
.btn-outline-warning:disabled, .btn-outline-warning.disabled {
color: #ffc107;
background-color: transparent;
@@ -3412,29 +3271,22 @@ fieldset:disabled .btn {
color: #dc3545;
border-color: #dc3545;
}
-
.btn-outline-danger:hover {
color: #fff;
background-color: #dc3545;
border-color: #dc3545;
}
-
.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {
box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
}
-
-.btn-check:checked + .btn-outline-danger,
-.btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
+.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
color: #fff;
background-color: #dc3545;
border-color: #dc3545;
}
-
-.btn-check:checked + .btn-outline-danger:focus,
-.btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
+.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
}
-
.btn-outline-danger:disabled, .btn-outline-danger.disabled {
color: #dc3545;
background-color: transparent;
@@ -3444,29 +3296,22 @@ fieldset:disabled .btn {
color: #f8f9fa;
border-color: #f8f9fa;
}
-
.btn-outline-light:hover {
color: #000;
background-color: #f8f9fa;
border-color: #f8f9fa;
}
-
.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {
box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
}
-
-.btn-check:checked + .btn-outline-light,
-.btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
+.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
color: #000;
background-color: #f8f9fa;
border-color: #f8f9fa;
}
-
-.btn-check:checked + .btn-outline-light:focus,
-.btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
+.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
}
-
.btn-outline-light:disabled, .btn-outline-light.disabled {
color: #f8f9fa;
background-color: transparent;
@@ -3476,29 +3321,22 @@ fieldset:disabled .btn {
color: #212529;
border-color: #212529;
}
-
.btn-outline-dark:hover {
color: #fff;
background-color: #212529;
border-color: #212529;
}
-
.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
}
-
-.btn-check:checked + .btn-outline-dark,
-.btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
+.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
color: #fff;
background-color: #212529;
border-color: #212529;
}
-
-.btn-check:checked + .btn-outline-dark:focus,
-.btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
+.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
}
-
.btn-outline-dark:disabled, .btn-outline-dark.disabled {
color: #212529;
background-color: transparent;
@@ -3509,11 +3347,9 @@ fieldset:disabled .btn {
color: #0d6efd;
text-decoration: underline;
}
-
.btn-link:hover {
color: #0a58ca;
}
-
.btn-link:disabled, .btn-link.disabled {
color: #6c757d;
}
@@ -3530,25 +3366,14 @@ fieldset:disabled .btn {
border-radius: 0.2rem;
}
-.btn-block {
- display: block;
- width: 100%;
-}
-
-.btn-block + .btn-block {
- margin-top: 0.5rem;
-}
-
.fade {
transition: opacity 0.15s linear;
}
-
@media (prefers-reduced-motion: reduce) {
.fade {
transition: none;
}
}
-
.fade:not(.show) {
opacity: 0;
}
@@ -3562,7 +3387,6 @@ fieldset:disabled .btn {
overflow: hidden;
transition: height 0.35s ease;
}
-
@media (prefers-reduced-motion: reduce) {
.collapsing {
transition: none;
@@ -3579,7 +3403,6 @@ fieldset:disabled .btn {
.dropdown-toggle {
white-space: nowrap;
}
-
.dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
@@ -3590,7 +3413,6 @@ fieldset:disabled .btn {
border-bottom: 0;
border-left: 0.3em solid transparent;
}
-
.dropdown-toggle:empty::after {
margin-left: 0;
}
@@ -3629,63 +3451,62 @@ fieldset:disabled .btn {
right: auto;
left: 0;
}
+
.dropdown-menu-sm-right {
right: 0;
left: auto;
}
}
-
@media (min-width: 768px) {
.dropdown-menu-md-left {
right: auto;
left: 0;
}
+
.dropdown-menu-md-right {
right: 0;
left: auto;
}
}
-
@media (min-width: 992px) {
.dropdown-menu-lg-left {
right: auto;
left: 0;
}
+
.dropdown-menu-lg-right {
right: 0;
left: auto;
}
}
-
@media (min-width: 1200px) {
.dropdown-menu-xl-left {
right: auto;
left: 0;
}
+
.dropdown-menu-xl-right {
right: 0;
left: auto;
}
}
-
@media (min-width: 1400px) {
.dropdown-menu-xxl-left {
right: auto;
left: 0;
}
+
.dropdown-menu-xxl-right {
right: 0;
left: auto;
}
}
-
.dropup .dropdown-menu {
top: auto;
bottom: 100%;
margin-top: 0;
margin-bottom: 0.125rem;
}
-
.dropup .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
@@ -3696,7 +3517,6 @@ fieldset:disabled .btn {
border-bottom: 0.3em solid;
border-left: 0.3em solid transparent;
}
-
.dropup .dropdown-toggle:empty::after {
margin-left: 0;
}
@@ -3708,7 +3528,6 @@ fieldset:disabled .btn {
margin-top: 0;
margin-left: 0.125rem;
}
-
.dropright .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
@@ -3719,11 +3538,9 @@ fieldset:disabled .btn {
border-bottom: 0.3em solid transparent;
border-left: 0.3em solid;
}
-
.dropright .dropdown-toggle:empty::after {
margin-left: 0;
}
-
.dropright .dropdown-toggle::after {
vertical-align: 0;
}
@@ -3735,18 +3552,15 @@ fieldset:disabled .btn {
margin-top: 0;
margin-right: 0.125rem;
}
-
.dropleft .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
vertical-align: 0.255em;
content: "";
}
-
.dropleft .dropdown-toggle::after {
display: none;
}
-
.dropleft .dropdown-toggle::before {
display: inline-block;
margin-right: 0.255em;
@@ -3756,16 +3570,14 @@ fieldset:disabled .btn {
border-right: 0.3em solid;
border-bottom: 0.3em solid transparent;
}
-
.dropleft .dropdown-toggle:empty::after {
margin-left: 0;
}
-
.dropleft .dropdown-toggle::before {
vertical-align: 0;
}
-.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
+.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {
right: auto;
bottom: auto;
}
@@ -3790,18 +3602,15 @@ fieldset:disabled .btn {
background-color: transparent;
border: 0;
}
-
.dropdown-item:hover, .dropdown-item:focus {
color: #1e2125;
background-color: #f8f9fa;
}
-
.dropdown-item.active, .dropdown-item:active {
color: #fff;
text-decoration: none;
background-color: #0d6efd;
}
-
.dropdown-item.disabled, .dropdown-item:disabled {
color: #6c757d;
pointer-events: none;
@@ -3832,33 +3641,26 @@ fieldset:disabled .btn {
background-color: #343a40;
border-color: rgba(0, 0, 0, 0.15);
}
-
.dropdown-menu-dark .dropdown-item {
color: #dee2e6;
}
-
.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {
color: #fff;
background-color: rgba(255, 255, 255, 0.15);
}
-
.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {
color: #fff;
background-color: #0d6efd;
}
-
.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {
color: #adb5bd;
}
-
.dropdown-menu-dark .dropdown-divider {
border-color: rgba(0, 0, 0, 0.15);
}
-
.dropdown-menu-dark .dropdown-item-text {
color: #dee2e6;
}
-
.dropdown-menu-dark .dropdown-header {
color: #adb5bd;
}
@@ -3869,13 +3671,11 @@ fieldset:disabled .btn {
display: inline-flex;
vertical-align: middle;
}
-
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
flex: 1 1 auto;
}
-
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
@@ -3896,7 +3696,6 @@ fieldset:disabled .btn {
flex-wrap: wrap;
justify-content: flex-start;
}
-
.btn-toolbar .input-group {
width: auto;
}
@@ -3905,14 +3704,12 @@ fieldset:disabled .btn {
.btn-group > .btn-group:not(:first-child) {
margin-left: -1px;
}
-
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
-
-.btn-group > .btn:nth-child(n + 3),
+.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
@@ -3923,13 +3720,9 @@ fieldset:disabled .btn {
padding-right: 0.5625rem;
padding-left: 0.5625rem;
}
-
-.dropdown-toggle-split::after,
-.dropup .dropdown-toggle-split::after,
-.dropright .dropdown-toggle-split::after {
+.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
margin-left: 0;
}
-
.dropleft .dropdown-toggle-split::before {
margin-right: 0;
}
@@ -3949,23 +3742,19 @@ fieldset:disabled .btn {
align-items: flex-start;
justify-content: center;
}
-
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
width: 100%;
}
-
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
margin-top: -1px;
}
-
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
-
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
@@ -3986,13 +3775,11 @@ fieldset:disabled .btn {
text-decoration: none;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
-
@media (prefers-reduced-motion: reduce) {
.nav-link {
transition: none;
}
}
-
.nav-link.disabled {
color: #6c757d;
pointer-events: none;
@@ -4002,31 +3789,26 @@ fieldset:disabled .btn {
.nav-tabs {
border-bottom: 1px solid #dee2e6;
}
-
.nav-tabs .nav-link {
margin-bottom: -1px;
border: 1px solid transparent;
border-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
-
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
border-color: #e9ecef #e9ecef #dee2e6;
}
-
.nav-tabs .nav-link.disabled {
color: #6c757d;
background-color: transparent;
border-color: transparent;
}
-
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
color: #495057;
background-color: #fff;
border-color: #dee2e6 #dee2e6 #fff;
}
-
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-left-radius: 0;
@@ -4036,7 +3818,6 @@ fieldset:disabled .btn {
.nav-pills .nav-link {
border-radius: 0.25rem;
}
-
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
color: #fff;
@@ -4059,7 +3840,6 @@ fieldset:disabled .btn {
.tab-content > .tab-pane {
display: none;
}
-
.tab-content > .active {
display: block;
}
@@ -4073,15 +3853,18 @@ fieldset:disabled .btn {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
-
.navbar > .container,
-.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl {
+.navbar > .container-fluid,
+.navbar > .container-sm,
+.navbar > .container-md,
+.navbar > .container-lg,
+.navbar > .container-xl,
+.navbar > .container-xxl {
display: flex;
flex-wrap: inherit;
align-items: center;
justify-content: space-between;
}
-
.navbar-brand {
padding-top: 0.3125rem;
padding-bottom: 0.3125rem;
@@ -4090,7 +3873,6 @@ fieldset:disabled .btn {
text-decoration: none;
white-space: nowrap;
}
-
.navbar-nav {
display: flex;
flex-direction: column;
@@ -4098,12 +3880,10 @@ fieldset:disabled .btn {
margin-bottom: 0;
list-style: none;
}
-
.navbar-nav .nav-link {
padding-right: 0;
padding-left: 0;
}
-
.navbar-nav .dropdown-menu {
position: static;
}
@@ -4127,17 +3907,14 @@ fieldset:disabled .btn {
border-radius: 0.25rem;
transition: box-shadow 0.15s ease-in-out;
}
-
@media (prefers-reduced-motion: reduce) {
.navbar-toggler {
transition: none;
}
}
-
.navbar-toggler:hover {
text-decoration: none;
}
-
.navbar-toggler:focus {
text-decoration: none;
outline: 0;
@@ -4176,7 +3953,6 @@ fieldset:disabled .btn {
display: none;
}
}
-
@media (min-width: 768px) {
.navbar-expand-md {
flex-wrap: nowrap;
@@ -4199,7 +3975,6 @@ fieldset:disabled .btn {
display: none;
}
}
-
@media (min-width: 992px) {
.navbar-expand-lg {
flex-wrap: nowrap;
@@ -4222,7 +3997,6 @@ fieldset:disabled .btn {
display: none;
}
}
-
@media (min-width: 1200px) {
.navbar-expand-xl {
flex-wrap: nowrap;
@@ -4245,7 +4019,6 @@ fieldset:disabled .btn {
display: none;
}
}
-
@media (min-width: 1400px) {
.navbar-expand-xxl {
flex-wrap: nowrap;
@@ -4268,29 +4041,23 @@ fieldset:disabled .btn {
display: none;
}
}
-
.navbar-expand {
flex-wrap: nowrap;
justify-content: flex-start;
}
-
.navbar-expand .navbar-nav {
flex-direction: row;
}
-
.navbar-expand .navbar-nav .dropdown-menu {
position: absolute;
}
-
.navbar-expand .navbar-nav .nav-link {
padding-right: 0.5rem;
padding-left: 0.5rem;
}
-
.navbar-expand .navbar-collapse {
display: flex !important;
}
-
.navbar-expand .navbar-toggler {
display: none;
}
@@ -4298,41 +4065,32 @@ fieldset:disabled .btn {
.navbar-light .navbar-brand {
color: rgba(0, 0, 0, 0.9);
}
-
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
color: rgba(0, 0, 0, 0.9);
}
-
.navbar-light .navbar-nav .nav-link {
color: rgba(0, 0, 0, 0.55);
}
-
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
color: rgba(0, 0, 0, 0.7);
}
-
.navbar-light .navbar-nav .nav-link.disabled {
color: rgba(0, 0, 0, 0.3);
}
-
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .nav-link.active {
color: rgba(0, 0, 0, 0.9);
}
-
.navbar-light .navbar-toggler {
color: rgba(0, 0, 0, 0.55);
border-color: rgba(0, 0, 0, 0.1);
}
-
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
-
.navbar-light .navbar-text {
color: rgba(0, 0, 0, 0.55);
}
-
.navbar-light .navbar-text a,
.navbar-light .navbar-text a:hover,
.navbar-light .navbar-text a:focus {
@@ -4342,41 +4100,32 @@ fieldset:disabled .btn {
.navbar-dark .navbar-brand {
color: #fff;
}
-
.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
color: #fff;
}
-
.navbar-dark .navbar-nav .nav-link {
color: rgba(255, 255, 255, 0.55);
}
-
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
color: rgba(255, 255, 255, 0.75);
}
-
.navbar-dark .navbar-nav .nav-link.disabled {
color: rgba(255, 255, 255, 0.25);
}
-
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .nav-link.active {
color: #fff;
}
-
.navbar-dark .navbar-toggler {
color: rgba(255, 255, 255, 0.55);
border-color: rgba(255, 255, 255, 0.1);
}
-
.navbar-dark .navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
-
.navbar-dark .navbar-text {
color: rgba(255, 255, 255, 0.55);
}
-
.navbar-dark .navbar-text a,
.navbar-dark .navbar-text a:hover,
.navbar-dark .navbar-text a:focus {
@@ -4394,29 +4143,24 @@ fieldset:disabled .btn {
border: 1px solid rgba(0, 0, 0, 0.125);
border-radius: 0.25rem;
}
-
.card > hr {
margin-right: 0;
margin-left: 0;
}
-
.card > .list-group {
border-top: inherit;
border-bottom: inherit;
}
-
.card > .list-group:first-child {
border-top-width: 0;
border-top-left-radius: calc(0.25rem - 1px);
border-top-right-radius: calc(0.25rem - 1px);
}
-
.card > .list-group:last-child {
border-bottom-width: 0;
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
-
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
border-top: 0;
@@ -4443,7 +4187,6 @@ fieldset:disabled .btn {
.card-link:hover {
text-decoration: none;
}
-
.card-link + .card-link {
margin-left: 1rem;
}
@@ -4454,7 +4197,6 @@ fieldset:disabled .btn {
background-color: rgba(0, 0, 0, 0.03);
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
-
.card-header:first-child {
border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}
@@ -4464,7 +4206,6 @@ fieldset:disabled .btn {
background-color: rgba(0, 0, 0, 0.03);
border-top: 1px solid rgba(0, 0, 0, 0.125);
}
-
.card-footer:last-child {
border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}
@@ -4512,7 +4253,6 @@ fieldset:disabled .btn {
.card-group > .card {
margin-bottom: 0.75rem;
}
-
@media (min-width: 576px) {
.card-group {
display: flex;
@@ -4531,11 +4271,11 @@ fieldset:disabled .btn {
border-bottom-right-radius: 0;
}
.card-group > .card:not(:last-child) .card-img-top,
- .card-group > .card:not(:last-child) .card-header {
+.card-group > .card:not(:last-child) .card-header {
border-top-right-radius: 0;
}
.card-group > .card:not(:last-child) .card-img-bottom,
- .card-group > .card:not(:last-child) .card-footer {
+.card-group > .card:not(:last-child) .card-footer {
border-bottom-right-radius: 0;
}
.card-group > .card:not(:first-child) {
@@ -4543,37 +4283,116 @@ fieldset:disabled .btn {
border-bottom-left-radius: 0;
}
.card-group > .card:not(:first-child) .card-img-top,
- .card-group > .card:not(:first-child) .card-header {
+.card-group > .card:not(:first-child) .card-header {
border-top-left-radius: 0;
}
.card-group > .card:not(:first-child) .card-img-bottom,
- .card-group > .card:not(:first-child) .card-footer {
+.card-group > .card:not(:first-child) .card-footer {
border-bottom-left-radius: 0;
}
}
-.accordion {
+.accordion-button {
+ position: relative;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: 1rem 1.25rem;
+ font-size: 1rem;
+ color: #212529;
+ background-color: transparent;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+ border-radius: 0;
overflow-anchor: none;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button {
+ transition: none;
+ }
+}
+.accordion-button.collapsed {
+ border-bottom-width: 0;
+}
+.accordion-button:not(.collapsed) {
+ color: #0c63e4;
+ background-color: #e7f1ff;
+}
+.accordion-button:not(.collapsed)::after {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ transform: rotate(180deg);
+}
+.accordion-button::after {
+ flex-shrink: 0;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-left: auto;
+ content: "";
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-size: 1.25rem;
+ transition: transform 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button::after {
+ transition: none;
+ }
+}
+.accordion-button:hover {
+ z-index: 2;
+}
+.accordion-button:focus {
+ z-index: 3;
+ border-color: #86b7fe;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
-.accordion > .card {
- overflow: hidden;
+.accordion-header {
+ margin-bottom: 0;
}
-.accordion > .card:not(:last-of-type) {
- border-bottom: 0;
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
+.accordion-item:first-of-type .accordion-button {
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
+}
+.accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-width: 1px;
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+.accordion-item:last-of-type .accordion-collapse {
+ border-bottom-width: 1px;
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
}
-.accordion > .card:not(:first-of-type) {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
+.accordion-collapse {
+ border: solid rgba(0, 0, 0, 0.125);
+ border-width: 0 1px;
}
-.accordion > .card > .card-header {
+.accordion-body {
+ padding: 1rem 1.25rem;
+}
+
+.accordion-flush .accordion-button {
+ border-right: 0;
+ border-left: 0;
border-radius: 0;
- margin-bottom: -1px;
+}
+.accordion-flush .accordion-collapse {
+ border-width: 0;
+}
+.accordion-flush .accordion-item:first-of-type .accordion-button {
+ border-top-width: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-width: 0;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
}
.breadcrumb {
@@ -4589,14 +4408,12 @@ fieldset:disabled .btn {
.breadcrumb-item + .breadcrumb-item {
padding-left: 0.5rem;
}
-
.breadcrumb-item + .breadcrumb-item::before {
float: left;
padding-right: 0.5rem;
color: #6c757d;
content: "/";
}
-
.breadcrumb-item.active {
color: #6c757d;
}
@@ -4616,20 +4433,17 @@ fieldset:disabled .btn {
border: 1px solid #dee2e6;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
-
@media (prefers-reduced-motion: reduce) {
.page-link {
transition: none;
}
}
-
.page-link:hover {
z-index: 2;
color: #0a58ca;
background-color: #e9ecef;
border-color: #dee2e6;
}
-
.page-link:focus {
z-index: 3;
color: #0a58ca;
@@ -4641,14 +4455,12 @@ fieldset:disabled .btn {
.page-item:not(:first-child) .page-link {
margin-left: -1px;
}
-
.page-item.active .page-link {
z-index: 3;
color: #fff;
background-color: #0d6efd;
border-color: #0d6efd;
}
-
.page-item.disabled .page-link {
color: #6c757d;
pointer-events: none;
@@ -4664,7 +4476,6 @@ fieldset:disabled .btn {
border-top-left-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
-
.page-item:last-child .page-link {
border-top-right-radius: 0.25rem;
border-bottom-right-radius: 0.25rem;
@@ -4674,12 +4485,10 @@ fieldset:disabled .btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
}
-
.pagination-lg .page-item:first-child .page-link {
border-top-left-radius: 0.3rem;
border-bottom-left-radius: 0.3rem;
}
-
.pagination-lg .page-item:last-child .page-link {
border-top-right-radius: 0.3rem;
border-bottom-right-radius: 0.3rem;
@@ -4689,12 +4498,10 @@ fieldset:disabled .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
}
-
.pagination-sm .page-item:first-child .page-link {
border-top-left-radius: 0.2rem;
border-bottom-left-radius: 0.2rem;
}
-
.pagination-sm .page-item:last-child .page-link {
border-top-right-radius: 0.2rem;
border-bottom-right-radius: 0.2rem;
@@ -4712,7 +4519,6 @@ fieldset:disabled .btn {
vertical-align: baseline;
border-radius: 0.25rem;
}
-
.badge:empty {
display: none;
}
@@ -4741,7 +4547,6 @@ fieldset:disabled .btn {
.alert-dismissible {
padding-right: 3rem;
}
-
.alert-dismissible .btn-close {
position: absolute;
top: 0;
@@ -4751,83 +4556,75 @@ fieldset:disabled .btn {
}
.alert-primary {
- color: #07377f;
+ color: #084298;
background-color: #cfe2ff;
border-color: #b6d4fe;
}
-
.alert-primary .alert-link {
- color: #062c66;
+ color: #06357a;
}
.alert-secondary {
- color: #363b3f;
+ color: #41464b;
background-color: #e2e3e5;
border-color: #d3d6d8;
}
-
.alert-secondary .alert-link {
- color: #2b2f32;
+ color: #34383c;
}
.alert-success {
- color: #0d442a;
+ color: #0f5132;
background-color: #d1e7dd;
border-color: #badbcc;
}
-
.alert-success .alert-link {
- color: #0a3622;
+ color: #0c4128;
}
.alert-info {
- color: #076578;
+ color: #055160;
background-color: #cff4fc;
border-color: #b6effb;
}
-
.alert-info .alert-link {
- color: #065160;
+ color: #04414d;
}
.alert-warning {
- color: #806104;
+ color: #664d03;
background-color: #fff3cd;
border-color: #ffecb5;
}
-
.alert-warning .alert-link {
- color: #664e03;
+ color: #523e02;
}
.alert-danger {
- color: #6e1b23;
+ color: #842029;
background-color: #f8d7da;
border-color: #f5c2c7;
}
-
.alert-danger .alert-link {
- color: #58161c;
+ color: #6a1a21;
}
.alert-light {
- color: #7c7d7d;
+ color: #636464;
background-color: #fefefe;
border-color: #fdfdfe;
}
-
.alert-light .alert-link {
- color: #636464;
+ color: #4f5050;
}
.alert-dark {
- color: #111315;
+ color: #141619;
background-color: #d3d3d4;
border-color: #bcbebf;
}
-
.alert-dark .alert-link {
- color: #0e0f11;
+ color: #101214;
}
@-webkit-keyframes progress-bar-stripes {
@@ -4841,7 +4638,6 @@ fieldset:disabled .btn {
background-position-x: 1rem;
}
}
-
.progress {
display: flex;
height: 1rem;
@@ -4862,7 +4658,6 @@ fieldset:disabled .btn {
background-color: #0d6efd;
transition: width 0.6s ease;
}
-
@media (prefers-reduced-motion: reduce) {
.progress-bar {
transition: none;
@@ -4875,10 +4670,9 @@ fieldset:disabled .btn {
}
.progress-bar-animated {
- -webkit-animation: progress-bar-stripes 1s linear infinite;
- animation: progress-bar-stripes 1s linear infinite;
+ -webkit-animation: 1s linear infinite progress-bar-stripes;
+ animation: 1s linear infinite progress-bar-stripes;
}
-
@media (prefers-reduced-motion: reduce) {
.progress-bar-animated {
-webkit-animation: none;
@@ -4899,14 +4693,12 @@ fieldset:disabled .btn {
color: #495057;
text-align: inherit;
}
-
.list-group-item-action:hover, .list-group-item-action:focus {
z-index: 1;
color: #495057;
text-decoration: none;
background-color: #f8f9fa;
}
-
.list-group-item-action:active {
color: #212529;
background-color: #e9ecef;
@@ -4920,34 +4712,28 @@ fieldset:disabled .btn {
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
-
.list-group-item:first-child {
border-top-left-radius: inherit;
border-top-right-radius: inherit;
}
-
.list-group-item:last-child {
border-bottom-right-radius: inherit;
border-bottom-left-radius: inherit;
}
-
.list-group-item.disabled, .list-group-item:disabled {
color: #6c757d;
pointer-events: none;
background-color: #fff;
}
-
.list-group-item.active {
z-index: 2;
color: #fff;
background-color: #0d6efd;
border-color: #0d6efd;
}
-
.list-group-item + .list-group-item {
border-top-width: 0;
}
-
.list-group-item + .list-group-item.active {
margin-top: -1px;
border-top-width: 1px;
@@ -4956,26 +4742,21 @@ fieldset:disabled .btn {
.list-group-horizontal {
flex-direction: row;
}
-
.list-group-horizontal > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
-
.list-group-horizontal > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
-
.list-group-horizontal > .list-group-item.active {
margin-top: 0;
}
-
.list-group-horizontal > .list-group-item + .list-group-item {
border-top-width: 1px;
border-left-width: 0;
}
-
.list-group-horizontal > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
@@ -5005,7 +4786,6 @@ fieldset:disabled .btn {
border-left-width: 1px;
}
}
-
@media (min-width: 768px) {
.list-group-horizontal-md {
flex-direction: row;
@@ -5030,7 +4810,6 @@ fieldset:disabled .btn {
border-left-width: 1px;
}
}
-
@media (min-width: 992px) {
.list-group-horizontal-lg {
flex-direction: row;
@@ -5055,7 +4834,6 @@ fieldset:disabled .btn {
border-left-width: 1px;
}
}
-
@media (min-width: 1200px) {
.list-group-horizontal-xl {
flex-direction: row;
@@ -5080,7 +4858,6 @@ fieldset:disabled .btn {
border-left-width: 1px;
}
}
-
@media (min-width: 1400px) {
.list-group-horizontal-xxl {
flex-direction: row;
@@ -5105,145 +4882,126 @@ fieldset:disabled .btn {
border-left-width: 1px;
}
}
-
.list-group-flush {
border-radius: 0;
}
-
.list-group-flush > .list-group-item {
border-width: 0 0 1px;
}
-
.list-group-flush > .list-group-item:last-child {
border-bottom-width: 0;
}
.list-group-item-primary {
- color: #07377f;
+ color: #084298;
background-color: #cfe2ff;
}
-
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
- color: #07377f;
+ color: #084298;
background-color: #bacbe6;
}
-
.list-group-item-primary.list-group-item-action.active {
color: #fff;
- background-color: #07377f;
- border-color: #07377f;
+ background-color: #084298;
+ border-color: #084298;
}
.list-group-item-secondary {
- color: #363b3f;
+ color: #41464b;
background-color: #e2e3e5;
}
-
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
- color: #363b3f;
+ color: #41464b;
background-color: #cbccce;
}
-
.list-group-item-secondary.list-group-item-action.active {
color: #fff;
- background-color: #363b3f;
- border-color: #363b3f;
+ background-color: #41464b;
+ border-color: #41464b;
}
.list-group-item-success {
- color: #0d442a;
+ color: #0f5132;
background-color: #d1e7dd;
}
-
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
- color: #0d442a;
+ color: #0f5132;
background-color: #bcd0c7;
}
-
.list-group-item-success.list-group-item-action.active {
color: #fff;
- background-color: #0d442a;
- border-color: #0d442a;
+ background-color: #0f5132;
+ border-color: #0f5132;
}
.list-group-item-info {
- color: #076578;
+ color: #055160;
background-color: #cff4fc;
}
-
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
- color: #076578;
+ color: #055160;
background-color: #badce3;
}
-
.list-group-item-info.list-group-item-action.active {
color: #fff;
- background-color: #076578;
- border-color: #076578;
+ background-color: #055160;
+ border-color: #055160;
}
.list-group-item-warning {
- color: #806104;
+ color: #664d03;
background-color: #fff3cd;
}
-
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
- color: #806104;
+ color: #664d03;
background-color: #e6dbb9;
}
-
.list-group-item-warning.list-group-item-action.active {
color: #fff;
- background-color: #806104;
- border-color: #806104;
+ background-color: #664d03;
+ border-color: #664d03;
}
.list-group-item-danger {
- color: #6e1b23;
+ color: #842029;
background-color: #f8d7da;
}
-
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
- color: #6e1b23;
+ color: #842029;
background-color: #dfc2c4;
}
-
.list-group-item-danger.list-group-item-action.active {
color: #fff;
- background-color: #6e1b23;
- border-color: #6e1b23;
+ background-color: #842029;
+ border-color: #842029;
}
.list-group-item-light {
- color: #7c7d7d;
+ color: #636464;
background-color: #fefefe;
}
-
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
- color: #7c7d7d;
+ color: #636464;
background-color: #e5e5e5;
}
-
.list-group-item-light.list-group-item-action.active {
color: #fff;
- background-color: #7c7d7d;
- border-color: #7c7d7d;
+ background-color: #636464;
+ border-color: #636464;
}
.list-group-item-dark {
- color: #111315;
+ color: #141619;
background-color: #d3d3d4;
}
-
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
- color: #111315;
+ color: #141619;
background-color: #bebebf;
}
-
.list-group-item-dark.list-group-item-action.active {
color: #fff;
- background-color: #111315;
- border-color: #111315;
+ background-color: #141619;
+ border-color: #141619;
}
.btn-close {
@@ -5252,29 +5010,25 @@ fieldset:disabled .btn {
height: 1em;
padding: 0.25em 0.25em;
color: #000;
- background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") no-repeat center center/1em auto;
+ background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
border: 0;
border-radius: 0.25rem;
opacity: 0.5;
}
-
.btn-close:hover {
color: #000;
text-decoration: none;
opacity: 0.75;
}
-
.btn-close:focus {
outline: none;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
opacity: 1;
}
-
.btn-close:disabled, .btn-close.disabled {
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
- -ms-user-select: none;
user-select: none;
opacity: 0.25;
}
@@ -5293,20 +5047,16 @@ fieldset:disabled .btn {
opacity: 0;
border-radius: 0.25rem;
}
-
.toast:not(:last-child) {
margin-bottom: 0.75rem;
}
-
.toast.showing {
opacity: 1;
}
-
.toast.show {
display: block;
opacity: 1;
}
-
.toast.hide {
display: none;
}
@@ -5322,7 +5072,6 @@ fieldset:disabled .btn {
border-top-left-radius: calc(0.25rem - 1px);
border-top-right-radius: calc(0.25rem - 1px);
}
-
.toast-header .btn-close {
margin-right: -0.375rem;
margin-left: 0.75rem;
@@ -5335,7 +5084,6 @@ fieldset:disabled .btn {
.modal-open {
overflow: hidden;
}
-
.modal-open .modal {
overflow-x: hidden;
overflow-y: auto;
@@ -5359,22 +5107,18 @@ fieldset:disabled .btn {
margin: 0.5rem;
pointer-events: none;
}
-
.modal.fade .modal-dialog {
transition: transform 0.3s ease-out;
transform: translate(0, -50px);
}
-
@media (prefers-reduced-motion: reduce) {
.modal.fade .modal-dialog {
transition: none;
}
}
-
.modal.show .modal-dialog {
transform: none;
}
-
.modal.modal-static .modal-dialog {
transform: scale(1.02);
}
@@ -5382,12 +5126,10 @@ fieldset:disabled .btn {
.modal-dialog-scrollable {
height: calc(100% - 1rem);
}
-
.modal-dialog-scrollable .modal-content {
max-height: 100%;
overflow: hidden;
}
-
.modal-dialog-scrollable .modal-body {
overflow-y: auto;
}
@@ -5420,11 +5162,9 @@ fieldset:disabled .btn {
height: 100vh;
background-color: #000;
}
-
.modal-backdrop.fade {
opacity: 0;
}
-
.modal-backdrop.show {
opacity: 0.5;
}
@@ -5439,7 +5179,6 @@ fieldset:disabled .btn {
border-top-left-radius: calc(0.3rem - 1px);
border-top-right-radius: calc(0.3rem - 1px);
}
-
.modal-header .btn-close {
padding: 0.5rem 0.5rem;
margin: -0.5rem -0.5rem -0.5rem auto;
@@ -5467,7 +5206,6 @@ fieldset:disabled .btn {
border-bottom-right-radius: calc(0.3rem - 1px);
border-bottom-left-radius: calc(0.3rem - 1px);
}
-
.modal-footer > * {
margin: 0.25rem;
}
@@ -5485,51 +5223,47 @@ fieldset:disabled .btn {
max-width: 500px;
margin: 1.75rem auto;
}
+
.modal-dialog-scrollable {
height: calc(100% - 3.5rem);
}
+
.modal-dialog-centered {
min-height: calc(100% - 3.5rem);
}
+
.modal-sm {
max-width: 300px;
}
}
-
@media (min-width: 992px) {
.modal-lg,
- .modal-xl {
+.modal-xl {
max-width: 800px;
}
}
-
@media (min-width: 1200px) {
.modal-xl {
max-width: 1140px;
}
}
-
.modal-fullscreen {
width: 100vw;
max-width: none;
height: 100%;
margin: 0;
}
-
.modal-fullscreen .modal-content {
height: 100%;
border: 0;
border-radius: 0;
}
-
.modal-fullscreen .modal-header {
border-radius: 0;
}
-
.modal-fullscreen .modal-body {
overflow-y: auto;
}
-
.modal-fullscreen .modal-footer {
border-radius: 0;
}
@@ -5556,7 +5290,6 @@ fieldset:disabled .btn {
border-radius: 0;
}
}
-
@media (max-width: 767.98px) {
.modal-fullscreen-md-down {
width: 100vw;
@@ -5579,7 +5312,6 @@ fieldset:disabled .btn {
border-radius: 0;
}
}
-
@media (max-width: 991.98px) {
.modal-fullscreen-lg-down {
width: 100vw;
@@ -5602,7 +5334,6 @@ fieldset:disabled .btn {
border-radius: 0;
}
}
-
@media (max-width: 1199.98px) {
.modal-fullscreen-xl-down {
width: 100vw;
@@ -5625,7 +5356,6 @@ fieldset:disabled .btn {
border-radius: 0;
}
}
-
@media (max-width: 1399.98px) {
.modal-fullscreen-xxl-down {
width: 100vw;
@@ -5648,7 +5378,6 @@ fieldset:disabled .btn {
border-radius: 0;
}
}
-
.tooltip {
position: absolute;
z-index: 1070;
@@ -5672,18 +5401,15 @@ fieldset:disabled .btn {
word-wrap: break-word;
opacity: 0;
}
-
.tooltip.show {
opacity: 0.9;
}
-
.tooltip .tooltip-arrow {
position: absolute;
display: block;
width: 0.8rem;
height: 0.4rem;
}
-
.tooltip .tooltip-arrow::before {
position: absolute;
content: "";
@@ -5691,61 +5417,53 @@ fieldset:disabled .btn {
border-style: solid;
}
-.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
+.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {
padding: 0.4rem 0;
}
-
-.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^="top"] .tooltip-arrow {
+.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=top] .tooltip-arrow {
bottom: 0;
}
-
-.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^="top"] .tooltip-arrow::before {
+.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before {
top: 0;
border-width: 0.4rem 0.4rem 0;
border-top-color: #000;
}
-.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
+.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {
padding: 0 0.4rem;
}
-
-.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^="right"] .tooltip-arrow {
+.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=right] .tooltip-arrow {
left: 0;
width: 0.4rem;
height: 0.8rem;
}
-
-.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^="right"] .tooltip-arrow::before {
+.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before {
right: 0;
border-width: 0.4rem 0.4rem 0.4rem 0;
border-right-color: #000;
}
-.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
+.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {
padding: 0.4rem 0;
}
-
-.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^="bottom"] .tooltip-arrow {
+.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow {
top: 0;
}
-
-.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .tooltip-arrow::before {
+.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before {
bottom: 0;
border-width: 0 0.4rem 0.4rem;
border-bottom-color: #000;
}
-.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
+.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {
padding: 0 0.4rem;
}
-
-.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^="left"] .tooltip-arrow {
+.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=left] .tooltip-arrow {
right: 0;
width: 0.4rem;
height: 0.8rem;
}
-
-.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^="left"] .tooltip-arrow::before {
+.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before {
left: 0;
border-width: 0.4rem 0 0.4rem 0.4rem;
border-left-color: #000;
@@ -5788,7 +5506,6 @@ fieldset:disabled .btn {
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 0.3rem;
}
-
.popover .popover-arrow {
position: absolute;
display: block;
@@ -5796,7 +5513,6 @@ fieldset:disabled .btn {
height: 0.5rem;
margin: 0 0.3rem;
}
-
.popover .popover-arrow::before, .popover .popover-arrow::after {
position: absolute;
display: block;
@@ -5805,70 +5521,60 @@ fieldset:disabled .btn {
border-style: solid;
}
-.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
+.bs-popover-top, .bs-popover-auto[x-placement^=top] {
margin-bottom: 0.5rem;
}
-
-.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^="top"] > .popover-arrow {
+.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=top] > .popover-arrow {
bottom: calc(-0.5rem - 1px);
}
-
-.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^="top"] > .popover-arrow::before {
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=top] > .popover-arrow::before {
bottom: 0;
border-width: 0.5rem 0.5rem 0;
border-top-color: rgba(0, 0, 0, 0.25);
}
-
-.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^="top"] > .popover-arrow::after {
+.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=top] > .popover-arrow::after {
bottom: 1px;
border-width: 0.5rem 0.5rem 0;
border-top-color: #fff;
}
-.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
+.bs-popover-right, .bs-popover-auto[x-placement^=right] {
margin-left: 0.5rem;
}
-
-.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^="right"] > .popover-arrow {
+.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=right] > .popover-arrow {
left: calc(-0.5rem - 1px);
width: 0.5rem;
height: 1rem;
margin: 0.3rem 0;
}
-
-.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^="right"] > .popover-arrow::before {
+.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=right] > .popover-arrow::before {
left: 0;
border-width: 0.5rem 0.5rem 0.5rem 0;
border-right-color: rgba(0, 0, 0, 0.25);
}
-
-.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^="right"] > .popover-arrow::after {
+.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=right] > .popover-arrow::after {
left: 1px;
border-width: 0.5rem 0.5rem 0.5rem 0;
border-right-color: #fff;
}
-.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
+.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {
margin-top: 0.5rem;
}
-
-.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^="bottom"] > .popover-arrow {
+.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=bottom] > .popover-arrow {
top: calc(-0.5rem - 1px);
}
-
-.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^="bottom"] > .popover-arrow::before {
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=bottom] > .popover-arrow::before {
top: 0;
border-width: 0 0.5rem 0.5rem 0.5rem;
border-bottom-color: rgba(0, 0, 0, 0.25);
}
-
-.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^="bottom"] > .popover-arrow::after {
+.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=bottom] > .popover-arrow::after {
top: 1px;
border-width: 0 0.5rem 0.5rem 0.5rem;
border-bottom-color: #fff;
}
-
-.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
+.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {
position: absolute;
top: 0;
left: 50%;
@@ -5879,24 +5585,21 @@ fieldset:disabled .btn {
border-bottom: 1px solid #f0f0f0;
}
-.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
+.bs-popover-left, .bs-popover-auto[x-placement^=left] {
margin-right: 0.5rem;
}
-
-.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^="left"] > .popover-arrow {
+.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=left] > .popover-arrow {
right: calc(-0.5rem - 1px);
width: 0.5rem;
height: 1rem;
margin: 0.3rem 0;
}
-
-.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^="left"] > .popover-arrow::before {
+.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=left] > .popover-arrow::before {
right: 0;
border-width: 0.5rem 0 0.5rem 0.5rem;
border-left-color: rgba(0, 0, 0, 0.25);
}
-
-.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^="left"] > .popover-arrow::after {
+.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=left] > .popover-arrow::after {
right: 1px;
border-width: 0.5rem 0 0.5rem 0.5rem;
border-left-color: #fff;
@@ -5911,7 +5614,6 @@ fieldset:disabled .btn {
border-top-left-radius: calc(0.3rem - 1px);
border-top-right-radius: calc(0.3rem - 1px);
}
-
.popover-header:empty {
display: none;
}
@@ -5934,7 +5636,6 @@ fieldset:disabled .btn {
width: 100%;
overflow: hidden;
}
-
.carousel-inner::after {
display: block;
clear: both;
@@ -5951,7 +5652,6 @@ fieldset:disabled .btn {
backface-visibility: hidden;
transition: transform 0.6s ease-in-out;
}
-
@media (prefers-reduced-motion: reduce) {
.carousel-item {
transition: none;
@@ -5979,24 +5679,21 @@ fieldset:disabled .btn {
transition-property: opacity;
transform: none;
}
-
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
z-index: 1;
opacity: 1;
}
-
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
z-index: 0;
opacity: 0;
transition: opacity 0s 0.6s;
}
-
@media (prefers-reduced-motion: reduce) {
.carousel-fade .active.carousel-item-left,
- .carousel-fade .active.carousel-item-right {
+.carousel-fade .active.carousel-item-right {
transition: none;
}
}
@@ -6016,14 +5713,12 @@ fieldset:disabled .btn {
opacity: 0.5;
transition: opacity 0.15s ease;
}
-
@media (prefers-reduced-motion: reduce) {
.carousel-control-prev,
- .carousel-control-next {
+.carousel-control-next {
transition: none;
}
}
-
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
@@ -6052,11 +5747,11 @@ fieldset:disabled .btn {
}
.carousel-control-prev-icon {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.carousel-control-next-icon {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.carousel-indicators {
@@ -6072,7 +5767,6 @@ fieldset:disabled .btn {
margin-left: 15%;
list-style: none;
}
-
.carousel-indicators li {
box-sizing: content-box;
flex: 0 1 auto;
@@ -6089,13 +5783,11 @@ fieldset:disabled .btn {
opacity: 0.5;
transition: opacity 0.6s ease;
}
-
@media (prefers-reduced-motion: reduce) {
.carousel-indicators li {
transition: none;
}
}
-
.carousel-indicators .active {
opacity: 1;
}
@@ -6115,11 +5807,9 @@ fieldset:disabled .btn {
.carousel-dark .carousel-control-next-icon {
filter: invert(1) grayscale(100);
}
-
.carousel-dark .carousel-indicators li {
background-color: #000;
}
-
.carousel-dark .carousel-caption {
color: #000;
}
@@ -6135,7 +5825,6 @@ fieldset:disabled .btn {
transform: rotate(360deg);
}
}
-
.spinner-border {
display: inline-block;
width: 2rem;
@@ -6144,8 +5833,8 @@ fieldset:disabled .btn {
border: 0.25em solid currentColor;
border-right-color: transparent;
border-radius: 50%;
- -webkit-animation: spinner-border 0.75s linear infinite;
- animation: spinner-border 0.75s linear infinite;
+ -webkit-animation: 0.75s linear infinite spinner-border;
+ animation: 0.75s linear infinite spinner-border;
}
.spinner-border-sm {
@@ -6173,7 +5862,6 @@ fieldset:disabled .btn {
transform: none;
}
}
-
.spinner-grow {
display: inline-block;
width: 2rem;
@@ -6182,8 +5870,8 @@ fieldset:disabled .btn {
background-color: currentColor;
border-radius: 50%;
opacity: 0;
- -webkit-animation: spinner-grow 0.75s linear infinite;
- animation: spinner-grow 0.75s linear infinite;
+ -webkit-animation: 0.75s linear infinite spinner-grow;
+ animation: 0.75s linear infinite spinner-grow;
}
.spinner-grow-sm {
@@ -6193,12 +5881,11 @@ fieldset:disabled .btn {
@media (prefers-reduced-motion: reduce) {
.spinner-border,
- .spinner-grow {
+.spinner-grow {
-webkit-animation-duration: 1.5s;
animation-duration: 1.5s;
}
}
-
.clearfix::after {
display: block;
clear: both;
@@ -6208,7 +5895,6 @@ fieldset:disabled .btn {
.link-primary {
color: #0d6efd;
}
-
.link-primary:hover, .link-primary:focus {
color: #0a58ca;
}
@@ -6216,7 +5902,6 @@ fieldset:disabled .btn {
.link-secondary {
color: #6c757d;
}
-
.link-secondary:hover, .link-secondary:focus {
color: #565e64;
}
@@ -6224,7 +5909,6 @@ fieldset:disabled .btn {
.link-success {
color: #198754;
}
-
.link-success:hover, .link-success:focus {
color: #146c43;
}
@@ -6232,7 +5916,6 @@ fieldset:disabled .btn {
.link-info {
color: #0dcaf0;
}
-
.link-info:hover, .link-info:focus {
color: #3dd5f3;
}
@@ -6240,7 +5923,6 @@ fieldset:disabled .btn {
.link-warning {
color: #ffc107;
}
-
.link-warning:hover, .link-warning:focus {
color: #ffcd39;
}
@@ -6248,7 +5930,6 @@ fieldset:disabled .btn {
.link-danger {
color: #dc3545;
}
-
.link-danger:hover, .link-danger:focus {
color: #b02a37;
}
@@ -6256,7 +5937,6 @@ fieldset:disabled .btn {
.link-light {
color: #f8f9fa;
}
-
.link-light:hover, .link-light:focus {
color: #f9fafb;
}
@@ -6264,7 +5944,6 @@ fieldset:disabled .btn {
.link-dark {
color: #212529;
}
-
.link-dark:hover, .link-dark:focus {
color: #1a1e21;
}
@@ -6273,13 +5952,11 @@ fieldset:disabled .btn {
position: relative;
width: 100%;
}
-
.ratio::before {
display: block;
padding-top: var(--aspect-ratio);
content: "";
}
-
.ratio > * {
position: absolute;
top: 0;
@@ -6335,7 +6012,6 @@ fieldset:disabled .btn {
z-index: 1020;
}
}
-
@media (min-width: 768px) {
.sticky-md-top {
position: -webkit-sticky;
@@ -6344,7 +6020,6 @@ fieldset:disabled .btn {
z-index: 1020;
}
}
-
@media (min-width: 992px) {
.sticky-lg-top {
position: -webkit-sticky;
@@ -6353,7 +6028,6 @@ fieldset:disabled .btn {
z-index: 1020;
}
}
-
@media (min-width: 1200px) {
.sticky-xl-top {
position: -webkit-sticky;
@@ -6362,7 +6036,6 @@ fieldset:disabled .btn {
z-index: 1020;
}
}
-
@media (min-width: 1400px) {
.sticky-xxl-top {
position: -webkit-sticky;
@@ -6371,7 +6044,6 @@ fieldset:disabled .btn {
z-index: 1020;
}
}
-
.visually-hidden,
.visually-hidden-focusable:not(:focus) {
position: absolute !important;
@@ -6465,6 +6137,10 @@ fieldset:disabled .btn {
display: block !important;
}
+.d-grid {
+ display: grid !important;
+}
+
.d-table {
display: table !important;
}
@@ -6790,6 +6466,30 @@ fieldset:disabled .btn {
flex-wrap: wrap-reverse !important;
}
+.gap-0 {
+ gap: 0 !important;
+}
+
+.gap-1 {
+ gap: 0.25rem !important;
+}
+
+.gap-2 {
+ gap: 0.5rem !important;
+}
+
+.gap-3 {
+ gap: 1rem !important;
+}
+
+.gap-4 {
+ gap: 1.5rem !important;
+}
+
+.gap-5 {
+ gap: 3rem !important;
+}
+
.justify-content-start {
justify-content: flex-start !important;
}
@@ -7336,23 +7036,23 @@ fieldset:disabled .btn {
font-style: normal !important;
}
-.font-weight-light {
+.fw-light {
font-weight: 300 !important;
}
-.font-weight-lighter {
+.fw-lighter {
font-weight: lighter !important;
}
-.font-weight-normal {
+.fw-normal {
font-weight: 400 !important;
}
-.font-weight-bold {
+.fw-bold {
font-weight: 700 !important;
}
-.font-weight-bolder {
+.fw-bolder {
font-weight: bolder !important;
}
@@ -7532,21 +7232,18 @@ fieldset:disabled .btn {
.user-select-all {
-webkit-user-select: all !important;
-moz-user-select: all !important;
- -ms-user-select: all !important;
user-select: all !important;
}
.user-select-auto {
-webkit-user-select: auto !important;
-moz-user-select: auto !important;
- -ms-user-select: auto !important;
user-select: auto !important;
}
.user-select-none {
-webkit-user-select: none !important;
-moz-user-select: none !important;
- -ms-user-select: none !important;
user-select: none !important;
}
@@ -7562,11 +7259,19 @@ fieldset:disabled .btn {
border-radius: 0.25rem !important;
}
-.rounded-sm {
+.rounded-0 {
+ border-radius: 0 !important;
+}
+
+.rounded-1 {
border-radius: 0.2rem !important;
}
-.rounded-lg {
+.rounded-2 {
+ border-radius: 0.25rem !important;
+}
+
+.rounded-3 {
border-radius: 0.3rem !important;
}
@@ -7578,10 +7283,6 @@ fieldset:disabled .btn {
border-radius: 50rem !important;
}
-.rounded-0 {
- border-radius: 0 !important;
-}
-
.rounded-top {
border-top-left-radius: 0.25rem !important;
border-top-right-radius: 0.25rem !important;
@@ -7614,2460 +7315,3362 @@ fieldset:disabled .btn {
.float-sm-left {
float: left !important;
}
+
.float-sm-right {
float: right !important;
}
+
.float-sm-none {
float: none !important;
}
+
.d-sm-inline {
display: inline !important;
}
+
.d-sm-inline-block {
display: inline-block !important;
}
+
.d-sm-block {
display: block !important;
}
+
+ .d-sm-grid {
+ display: grid !important;
+ }
+
.d-sm-table {
display: table !important;
}
+
.d-sm-table-row {
display: table-row !important;
}
+
.d-sm-table-cell {
display: table-cell !important;
}
+
.d-sm-flex {
display: flex !important;
}
+
.d-sm-inline-flex {
display: inline-flex !important;
}
+
.d-sm-none {
display: none !important;
}
+
.flex-sm-fill {
flex: 1 1 auto !important;
}
+
.flex-sm-row {
flex-direction: row !important;
}
+
.flex-sm-column {
flex-direction: column !important;
}
+
.flex-sm-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-sm-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-sm-grow-0 {
flex-grow: 0 !important;
}
+
.flex-sm-grow-1 {
flex-grow: 1 !important;
}
+
.flex-sm-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-sm-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-sm-wrap {
flex-wrap: wrap !important;
}
+
.flex-sm-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-sm-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-sm-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-sm-start {
justify-content: flex-start !important;
}
+
.justify-content-sm-end {
justify-content: flex-end !important;
}
+
.justify-content-sm-center {
justify-content: center !important;
}
+
.justify-content-sm-between {
justify-content: space-between !important;
}
+
.justify-content-sm-around {
justify-content: space-around !important;
}
+
.justify-content-sm-evenly {
justify-content: space-evenly !important;
}
+
.align-items-sm-start {
align-items: flex-start !important;
}
+
.align-items-sm-end {
align-items: flex-end !important;
}
+
.align-items-sm-center {
align-items: center !important;
}
+
.align-items-sm-baseline {
align-items: baseline !important;
}
+
.align-items-sm-stretch {
align-items: stretch !important;
}
+
.align-content-sm-start {
align-content: flex-start !important;
}
+
.align-content-sm-end {
align-content: flex-end !important;
}
+
.align-content-sm-center {
align-content: center !important;
}
+
.align-content-sm-between {
align-content: space-between !important;
}
+
.align-content-sm-around {
align-content: space-around !important;
}
+
.align-content-sm-stretch {
align-content: stretch !important;
}
+
.align-self-sm-auto {
align-self: auto !important;
}
+
.align-self-sm-start {
align-self: flex-start !important;
}
+
.align-self-sm-end {
align-self: flex-end !important;
}
+
.align-self-sm-center {
align-self: center !important;
}
+
.align-self-sm-baseline {
align-self: baseline !important;
}
+
.align-self-sm-stretch {
align-self: stretch !important;
}
+
.order-sm-first {
order: -1 !important;
}
+
.order-sm-0 {
order: 0 !important;
}
+
.order-sm-1 {
order: 1 !important;
}
+
.order-sm-2 {
order: 2 !important;
}
+
.order-sm-3 {
order: 3 !important;
}
+
.order-sm-4 {
order: 4 !important;
}
+
.order-sm-5 {
order: 5 !important;
}
+
.order-sm-last {
order: 6 !important;
}
+
.m-sm-0 {
margin: 0 !important;
}
+
.m-sm-1 {
margin: 0.25rem !important;
}
+
.m-sm-2 {
margin: 0.5rem !important;
}
+
.m-sm-3 {
margin: 1rem !important;
}
+
.m-sm-4 {
margin: 1.5rem !important;
}
+
.m-sm-5 {
margin: 3rem !important;
}
+
.m-sm-auto {
margin: auto !important;
}
+
.mx-sm-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-sm-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-sm-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-sm-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-sm-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-sm-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-sm-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-sm-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-sm-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-sm-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-sm-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-sm-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-sm-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-sm-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-sm-0 {
margin-top: 0 !important;
}
+
.mt-sm-1 {
margin-top: 0.25rem !important;
}
+
.mt-sm-2 {
margin-top: 0.5rem !important;
}
+
.mt-sm-3 {
margin-top: 1rem !important;
}
+
.mt-sm-4 {
margin-top: 1.5rem !important;
}
+
.mt-sm-5 {
margin-top: 3rem !important;
}
+
.mt-sm-auto {
margin-top: auto !important;
}
+
.mr-sm-0 {
margin-right: 0 !important;
}
+
.mr-sm-1 {
margin-right: 0.25rem !important;
}
+
.mr-sm-2 {
margin-right: 0.5rem !important;
}
+
.mr-sm-3 {
margin-right: 1rem !important;
}
+
.mr-sm-4 {
margin-right: 1.5rem !important;
}
+
.mr-sm-5 {
margin-right: 3rem !important;
}
+
.mr-sm-auto {
margin-right: auto !important;
}
+
.mb-sm-0 {
margin-bottom: 0 !important;
}
+
.mb-sm-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-sm-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-sm-3 {
margin-bottom: 1rem !important;
}
+
.mb-sm-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-sm-5 {
margin-bottom: 3rem !important;
}
+
.mb-sm-auto {
margin-bottom: auto !important;
}
+
.ml-sm-0 {
margin-left: 0 !important;
}
+
.ml-sm-1 {
margin-left: 0.25rem !important;
}
+
.ml-sm-2 {
margin-left: 0.5rem !important;
}
+
.ml-sm-3 {
margin-left: 1rem !important;
}
+
.ml-sm-4 {
margin-left: 1.5rem !important;
}
+
.ml-sm-5 {
margin-left: 3rem !important;
}
+
.ml-sm-auto {
margin-left: auto !important;
}
+
.p-sm-0 {
padding: 0 !important;
}
+
.p-sm-1 {
padding: 0.25rem !important;
}
+
.p-sm-2 {
padding: 0.5rem !important;
}
+
.p-sm-3 {
padding: 1rem !important;
}
+
.p-sm-4 {
padding: 1.5rem !important;
}
+
.p-sm-5 {
padding: 3rem !important;
}
+
.px-sm-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-sm-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-sm-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-sm-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-sm-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-sm-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-sm-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-sm-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-sm-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-sm-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-sm-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-sm-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-sm-0 {
padding-top: 0 !important;
}
+
.pt-sm-1 {
padding-top: 0.25rem !important;
}
+
.pt-sm-2 {
padding-top: 0.5rem !important;
}
+
.pt-sm-3 {
padding-top: 1rem !important;
}
+
.pt-sm-4 {
padding-top: 1.5rem !important;
}
+
.pt-sm-5 {
padding-top: 3rem !important;
}
+
.pr-sm-0 {
padding-right: 0 !important;
}
+
.pr-sm-1 {
padding-right: 0.25rem !important;
}
+
.pr-sm-2 {
padding-right: 0.5rem !important;
}
+
.pr-sm-3 {
padding-right: 1rem !important;
}
+
.pr-sm-4 {
padding-right: 1.5rem !important;
}
+
.pr-sm-5 {
padding-right: 3rem !important;
}
+
.pb-sm-0 {
padding-bottom: 0 !important;
}
+
.pb-sm-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-sm-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-sm-3 {
padding-bottom: 1rem !important;
}
+
.pb-sm-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-sm-5 {
padding-bottom: 3rem !important;
}
+
.pl-sm-0 {
padding-left: 0 !important;
}
+
.pl-sm-1 {
padding-left: 0.25rem !important;
}
+
.pl-sm-2 {
padding-left: 0.5rem !important;
}
+
.pl-sm-3 {
padding-left: 1rem !important;
}
+
.pl-sm-4 {
padding-left: 1.5rem !important;
}
+
.pl-sm-5 {
padding-left: 3rem !important;
}
+
.text-sm-left {
text-align: left !important;
}
+
.text-sm-right {
text-align: right !important;
}
+
.text-sm-center {
text-align: center !important;
}
}
-
@media (min-width: 768px) {
.float-md-left {
float: left !important;
}
+
.float-md-right {
float: right !important;
}
+
.float-md-none {
float: none !important;
}
+
.d-md-inline {
display: inline !important;
}
+
.d-md-inline-block {
display: inline-block !important;
}
+
.d-md-block {
display: block !important;
}
+
+ .d-md-grid {
+ display: grid !important;
+ }
+
.d-md-table {
display: table !important;
}
+
.d-md-table-row {
display: table-row !important;
}
+
.d-md-table-cell {
display: table-cell !important;
}
+
.d-md-flex {
display: flex !important;
}
+
.d-md-inline-flex {
display: inline-flex !important;
}
+
.d-md-none {
display: none !important;
}
+
.flex-md-fill {
flex: 1 1 auto !important;
}
+
.flex-md-row {
flex-direction: row !important;
}
+
.flex-md-column {
flex-direction: column !important;
}
+
.flex-md-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-md-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-md-grow-0 {
flex-grow: 0 !important;
}
+
.flex-md-grow-1 {
flex-grow: 1 !important;
}
+
.flex-md-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-md-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-md-wrap {
flex-wrap: wrap !important;
}
+
.flex-md-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-md-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-md-0 {
+ gap: 0 !important;
+ }
+
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-md-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-md-start {
justify-content: flex-start !important;
}
+
.justify-content-md-end {
justify-content: flex-end !important;
}
+
.justify-content-md-center {
justify-content: center !important;
}
+
.justify-content-md-between {
justify-content: space-between !important;
}
+
.justify-content-md-around {
justify-content: space-around !important;
}
+
.justify-content-md-evenly {
justify-content: space-evenly !important;
}
+
.align-items-md-start {
align-items: flex-start !important;
}
+
.align-items-md-end {
align-items: flex-end !important;
}
+
.align-items-md-center {
align-items: center !important;
}
+
.align-items-md-baseline {
align-items: baseline !important;
}
+
.align-items-md-stretch {
align-items: stretch !important;
}
+
.align-content-md-start {
align-content: flex-start !important;
}
+
.align-content-md-end {
align-content: flex-end !important;
}
+
.align-content-md-center {
align-content: center !important;
}
+
.align-content-md-between {
align-content: space-between !important;
}
+
.align-content-md-around {
align-content: space-around !important;
}
+
.align-content-md-stretch {
align-content: stretch !important;
}
+
.align-self-md-auto {
align-self: auto !important;
}
+
.align-self-md-start {
align-self: flex-start !important;
}
+
.align-self-md-end {
align-self: flex-end !important;
}
+
.align-self-md-center {
align-self: center !important;
}
+
.align-self-md-baseline {
align-self: baseline !important;
}
+
.align-self-md-stretch {
align-self: stretch !important;
}
+
.order-md-first {
order: -1 !important;
}
+
.order-md-0 {
order: 0 !important;
}
+
.order-md-1 {
order: 1 !important;
}
+
.order-md-2 {
order: 2 !important;
}
+
.order-md-3 {
order: 3 !important;
}
+
.order-md-4 {
order: 4 !important;
}
+
.order-md-5 {
order: 5 !important;
}
+
.order-md-last {
order: 6 !important;
}
+
.m-md-0 {
margin: 0 !important;
}
+
.m-md-1 {
margin: 0.25rem !important;
}
+
.m-md-2 {
margin: 0.5rem !important;
}
+
.m-md-3 {
margin: 1rem !important;
}
+
.m-md-4 {
margin: 1.5rem !important;
}
+
.m-md-5 {
margin: 3rem !important;
}
+
.m-md-auto {
margin: auto !important;
}
+
.mx-md-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-md-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-md-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-md-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-md-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-md-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-md-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-md-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-md-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-md-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-md-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-md-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-md-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-md-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-md-0 {
margin-top: 0 !important;
}
+
.mt-md-1 {
margin-top: 0.25rem !important;
}
+
.mt-md-2 {
margin-top: 0.5rem !important;
}
+
.mt-md-3 {
margin-top: 1rem !important;
}
+
.mt-md-4 {
margin-top: 1.5rem !important;
}
+
.mt-md-5 {
margin-top: 3rem !important;
}
+
.mt-md-auto {
margin-top: auto !important;
}
+
.mr-md-0 {
margin-right: 0 !important;
}
+
.mr-md-1 {
margin-right: 0.25rem !important;
}
+
.mr-md-2 {
margin-right: 0.5rem !important;
}
+
.mr-md-3 {
margin-right: 1rem !important;
}
+
.mr-md-4 {
margin-right: 1.5rem !important;
}
+
.mr-md-5 {
margin-right: 3rem !important;
}
+
.mr-md-auto {
margin-right: auto !important;
}
+
.mb-md-0 {
margin-bottom: 0 !important;
}
+
.mb-md-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-md-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-md-3 {
margin-bottom: 1rem !important;
}
+
.mb-md-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-md-5 {
margin-bottom: 3rem !important;
}
+
.mb-md-auto {
margin-bottom: auto !important;
}
+
.ml-md-0 {
margin-left: 0 !important;
}
+
.ml-md-1 {
margin-left: 0.25rem !important;
}
+
.ml-md-2 {
margin-left: 0.5rem !important;
}
+
.ml-md-3 {
margin-left: 1rem !important;
}
+
.ml-md-4 {
margin-left: 1.5rem !important;
}
+
.ml-md-5 {
margin-left: 3rem !important;
}
+
.ml-md-auto {
margin-left: auto !important;
}
+
.p-md-0 {
padding: 0 !important;
}
+
.p-md-1 {
padding: 0.25rem !important;
}
+
.p-md-2 {
padding: 0.5rem !important;
}
+
.p-md-3 {
padding: 1rem !important;
}
+
.p-md-4 {
padding: 1.5rem !important;
}
+
.p-md-5 {
padding: 3rem !important;
}
+
.px-md-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-md-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-md-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-md-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-md-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-md-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-md-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-md-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-md-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-md-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-md-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-md-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-md-0 {
padding-top: 0 !important;
}
+
.pt-md-1 {
padding-top: 0.25rem !important;
}
+
.pt-md-2 {
padding-top: 0.5rem !important;
}
+
.pt-md-3 {
padding-top: 1rem !important;
}
+
.pt-md-4 {
padding-top: 1.5rem !important;
}
+
.pt-md-5 {
padding-top: 3rem !important;
}
+
.pr-md-0 {
padding-right: 0 !important;
}
+
.pr-md-1 {
padding-right: 0.25rem !important;
}
+
.pr-md-2 {
padding-right: 0.5rem !important;
}
+
.pr-md-3 {
padding-right: 1rem !important;
}
+
.pr-md-4 {
padding-right: 1.5rem !important;
}
+
.pr-md-5 {
padding-right: 3rem !important;
}
+
.pb-md-0 {
padding-bottom: 0 !important;
}
+
.pb-md-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-md-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-md-3 {
padding-bottom: 1rem !important;
}
+
.pb-md-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-md-5 {
padding-bottom: 3rem !important;
}
+
.pl-md-0 {
padding-left: 0 !important;
}
+
.pl-md-1 {
padding-left: 0.25rem !important;
}
+
.pl-md-2 {
padding-left: 0.5rem !important;
}
+
.pl-md-3 {
padding-left: 1rem !important;
}
+
.pl-md-4 {
padding-left: 1.5rem !important;
}
+
.pl-md-5 {
padding-left: 3rem !important;
}
+
.text-md-left {
text-align: left !important;
}
+
.text-md-right {
text-align: right !important;
}
+
.text-md-center {
text-align: center !important;
}
}
-
@media (min-width: 992px) {
.float-lg-left {
float: left !important;
}
+
.float-lg-right {
float: right !important;
}
+
.float-lg-none {
float: none !important;
}
+
.d-lg-inline {
display: inline !important;
}
+
.d-lg-inline-block {
display: inline-block !important;
}
+
.d-lg-block {
display: block !important;
}
+
+ .d-lg-grid {
+ display: grid !important;
+ }
+
.d-lg-table {
display: table !important;
}
+
.d-lg-table-row {
display: table-row !important;
}
+
.d-lg-table-cell {
display: table-cell !important;
}
+
.d-lg-flex {
display: flex !important;
}
+
.d-lg-inline-flex {
display: inline-flex !important;
}
+
.d-lg-none {
display: none !important;
}
+
.flex-lg-fill {
flex: 1 1 auto !important;
}
+
.flex-lg-row {
flex-direction: row !important;
}
+
.flex-lg-column {
flex-direction: column !important;
}
+
.flex-lg-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-lg-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-lg-grow-0 {
flex-grow: 0 !important;
}
+
.flex-lg-grow-1 {
flex-grow: 1 !important;
}
+
.flex-lg-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-lg-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-lg-wrap {
flex-wrap: wrap !important;
}
+
.flex-lg-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-lg-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-lg-0 {
+ gap: 0 !important;
+ }
+
+ .gap-lg-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-lg-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-lg-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-lg-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-lg-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-lg-start {
justify-content: flex-start !important;
}
+
.justify-content-lg-end {
justify-content: flex-end !important;
}
+
.justify-content-lg-center {
justify-content: center !important;
}
+
.justify-content-lg-between {
justify-content: space-between !important;
}
+
.justify-content-lg-around {
justify-content: space-around !important;
}
+
.justify-content-lg-evenly {
justify-content: space-evenly !important;
}
+
.align-items-lg-start {
align-items: flex-start !important;
}
+
.align-items-lg-end {
align-items: flex-end !important;
}
+
.align-items-lg-center {
align-items: center !important;
}
+
.align-items-lg-baseline {
align-items: baseline !important;
}
+
.align-items-lg-stretch {
align-items: stretch !important;
}
+
.align-content-lg-start {
align-content: flex-start !important;
}
+
.align-content-lg-end {
align-content: flex-end !important;
}
+
.align-content-lg-center {
align-content: center !important;
}
+
.align-content-lg-between {
align-content: space-between !important;
}
+
.align-content-lg-around {
align-content: space-around !important;
}
+
.align-content-lg-stretch {
align-content: stretch !important;
}
+
.align-self-lg-auto {
align-self: auto !important;
}
+
.align-self-lg-start {
align-self: flex-start !important;
}
+
.align-self-lg-end {
align-self: flex-end !important;
}
+
.align-self-lg-center {
align-self: center !important;
}
+
.align-self-lg-baseline {
align-self: baseline !important;
}
+
.align-self-lg-stretch {
align-self: stretch !important;
}
+
.order-lg-first {
order: -1 !important;
}
+
.order-lg-0 {
order: 0 !important;
}
+
.order-lg-1 {
order: 1 !important;
}
+
.order-lg-2 {
order: 2 !important;
}
+
.order-lg-3 {
order: 3 !important;
}
+
.order-lg-4 {
order: 4 !important;
}
+
.order-lg-5 {
order: 5 !important;
}
+
.order-lg-last {
order: 6 !important;
}
+
.m-lg-0 {
margin: 0 !important;
}
+
.m-lg-1 {
margin: 0.25rem !important;
}
+
.m-lg-2 {
margin: 0.5rem !important;
}
+
.m-lg-3 {
margin: 1rem !important;
}
+
.m-lg-4 {
margin: 1.5rem !important;
}
+
.m-lg-5 {
margin: 3rem !important;
}
+
.m-lg-auto {
margin: auto !important;
}
+
.mx-lg-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-lg-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-lg-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-lg-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-lg-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-lg-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-lg-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-lg-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-lg-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-lg-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-lg-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-lg-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-lg-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-lg-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-lg-0 {
margin-top: 0 !important;
}
+
.mt-lg-1 {
margin-top: 0.25rem !important;
}
+
.mt-lg-2 {
margin-top: 0.5rem !important;
}
+
.mt-lg-3 {
margin-top: 1rem !important;
}
+
.mt-lg-4 {
margin-top: 1.5rem !important;
}
+
.mt-lg-5 {
margin-top: 3rem !important;
}
+
.mt-lg-auto {
margin-top: auto !important;
}
+
.mr-lg-0 {
margin-right: 0 !important;
}
+
.mr-lg-1 {
margin-right: 0.25rem !important;
}
+
.mr-lg-2 {
margin-right: 0.5rem !important;
}
+
.mr-lg-3 {
margin-right: 1rem !important;
}
+
.mr-lg-4 {
margin-right: 1.5rem !important;
}
+
.mr-lg-5 {
margin-right: 3rem !important;
}
+
.mr-lg-auto {
margin-right: auto !important;
}
+
.mb-lg-0 {
margin-bottom: 0 !important;
}
+
.mb-lg-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-lg-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-lg-3 {
margin-bottom: 1rem !important;
}
+
.mb-lg-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-lg-5 {
margin-bottom: 3rem !important;
}
+
.mb-lg-auto {
margin-bottom: auto !important;
}
+
.ml-lg-0 {
margin-left: 0 !important;
}
+
.ml-lg-1 {
margin-left: 0.25rem !important;
}
+
.ml-lg-2 {
margin-left: 0.5rem !important;
}
+
.ml-lg-3 {
margin-left: 1rem !important;
}
+
.ml-lg-4 {
margin-left: 1.5rem !important;
}
+
.ml-lg-5 {
margin-left: 3rem !important;
}
+
.ml-lg-auto {
margin-left: auto !important;
}
+
.p-lg-0 {
padding: 0 !important;
}
+
.p-lg-1 {
padding: 0.25rem !important;
}
+
.p-lg-2 {
padding: 0.5rem !important;
}
+
.p-lg-3 {
padding: 1rem !important;
}
+
.p-lg-4 {
padding: 1.5rem !important;
}
+
.p-lg-5 {
padding: 3rem !important;
}
+
.px-lg-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-lg-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-lg-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-lg-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-lg-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-lg-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-lg-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-lg-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-lg-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-lg-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-lg-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-lg-0 {
padding-top: 0 !important;
}
+
.pt-lg-1 {
padding-top: 0.25rem !important;
}
+
.pt-lg-2 {
padding-top: 0.5rem !important;
}
+
.pt-lg-3 {
padding-top: 1rem !important;
}
+
.pt-lg-4 {
padding-top: 1.5rem !important;
}
+
.pt-lg-5 {
padding-top: 3rem !important;
}
+
.pr-lg-0 {
padding-right: 0 !important;
}
+
.pr-lg-1 {
padding-right: 0.25rem !important;
}
+
.pr-lg-2 {
padding-right: 0.5rem !important;
}
+
.pr-lg-3 {
padding-right: 1rem !important;
}
+
.pr-lg-4 {
padding-right: 1.5rem !important;
}
+
.pr-lg-5 {
padding-right: 3rem !important;
}
+
.pb-lg-0 {
padding-bottom: 0 !important;
}
+
.pb-lg-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-lg-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-lg-3 {
padding-bottom: 1rem !important;
}
+
.pb-lg-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-lg-5 {
padding-bottom: 3rem !important;
}
+
.pl-lg-0 {
padding-left: 0 !important;
}
+
.pl-lg-1 {
padding-left: 0.25rem !important;
}
+
.pl-lg-2 {
padding-left: 0.5rem !important;
}
+
.pl-lg-3 {
padding-left: 1rem !important;
}
+
.pl-lg-4 {
padding-left: 1.5rem !important;
}
+
.pl-lg-5 {
padding-left: 3rem !important;
}
+
.text-lg-left {
text-align: left !important;
}
+
.text-lg-right {
text-align: right !important;
}
+
.text-lg-center {
text-align: center !important;
}
}
-
@media (min-width: 1200px) {
.float-xl-left {
float: left !important;
}
+
.float-xl-right {
float: right !important;
}
+
.float-xl-none {
float: none !important;
}
+
.d-xl-inline {
display: inline !important;
}
+
.d-xl-inline-block {
display: inline-block !important;
}
+
.d-xl-block {
display: block !important;
}
+
+ .d-xl-grid {
+ display: grid !important;
+ }
+
.d-xl-table {
display: table !important;
}
+
.d-xl-table-row {
display: table-row !important;
}
+
.d-xl-table-cell {
display: table-cell !important;
}
+
.d-xl-flex {
display: flex !important;
}
+
.d-xl-inline-flex {
display: inline-flex !important;
}
+
.d-xl-none {
display: none !important;
}
+
.flex-xl-fill {
flex: 1 1 auto !important;
}
+
.flex-xl-row {
flex-direction: row !important;
}
+
.flex-xl-column {
flex-direction: column !important;
}
+
.flex-xl-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-xl-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-xl-grow-0 {
flex-grow: 0 !important;
}
+
.flex-xl-grow-1 {
flex-grow: 1 !important;
}
+
.flex-xl-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-xl-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-xl-wrap {
flex-wrap: wrap !important;
}
+
.flex-xl-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-xl-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xl-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-xl-start {
justify-content: flex-start !important;
}
+
.justify-content-xl-end {
justify-content: flex-end !important;
}
+
.justify-content-xl-center {
justify-content: center !important;
}
+
.justify-content-xl-between {
justify-content: space-between !important;
}
+
.justify-content-xl-around {
justify-content: space-around !important;
}
+
.justify-content-xl-evenly {
justify-content: space-evenly !important;
}
+
.align-items-xl-start {
align-items: flex-start !important;
}
+
.align-items-xl-end {
align-items: flex-end !important;
}
+
.align-items-xl-center {
align-items: center !important;
}
+
.align-items-xl-baseline {
align-items: baseline !important;
}
+
.align-items-xl-stretch {
align-items: stretch !important;
}
+
.align-content-xl-start {
align-content: flex-start !important;
}
+
.align-content-xl-end {
align-content: flex-end !important;
}
+
.align-content-xl-center {
align-content: center !important;
}
+
.align-content-xl-between {
align-content: space-between !important;
}
+
.align-content-xl-around {
align-content: space-around !important;
}
+
.align-content-xl-stretch {
align-content: stretch !important;
}
+
.align-self-xl-auto {
align-self: auto !important;
}
+
.align-self-xl-start {
align-self: flex-start !important;
}
+
.align-self-xl-end {
align-self: flex-end !important;
}
+
.align-self-xl-center {
align-self: center !important;
}
+
.align-self-xl-baseline {
align-self: baseline !important;
}
+
.align-self-xl-stretch {
align-self: stretch !important;
}
+
.order-xl-first {
order: -1 !important;
}
+
.order-xl-0 {
order: 0 !important;
}
+
.order-xl-1 {
order: 1 !important;
}
+
.order-xl-2 {
order: 2 !important;
}
+
.order-xl-3 {
order: 3 !important;
}
+
.order-xl-4 {
order: 4 !important;
}
+
.order-xl-5 {
order: 5 !important;
}
+
.order-xl-last {
order: 6 !important;
}
+
.m-xl-0 {
margin: 0 !important;
}
+
.m-xl-1 {
margin: 0.25rem !important;
}
+
.m-xl-2 {
margin: 0.5rem !important;
}
+
.m-xl-3 {
margin: 1rem !important;
}
+
.m-xl-4 {
margin: 1.5rem !important;
}
+
.m-xl-5 {
margin: 3rem !important;
}
+
.m-xl-auto {
margin: auto !important;
}
+
.mx-xl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-xl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-xl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-xl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-xl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-xl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-xl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-xl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-xl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-xl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-xl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-xl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-xl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-xl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-xl-0 {
margin-top: 0 !important;
}
+
.mt-xl-1 {
margin-top: 0.25rem !important;
}
+
.mt-xl-2 {
margin-top: 0.5rem !important;
}
+
.mt-xl-3 {
margin-top: 1rem !important;
}
+
.mt-xl-4 {
margin-top: 1.5rem !important;
}
+
.mt-xl-5 {
margin-top: 3rem !important;
}
+
.mt-xl-auto {
margin-top: auto !important;
}
+
.mr-xl-0 {
margin-right: 0 !important;
}
+
.mr-xl-1 {
margin-right: 0.25rem !important;
}
+
.mr-xl-2 {
margin-right: 0.5rem !important;
}
+
.mr-xl-3 {
margin-right: 1rem !important;
}
+
.mr-xl-4 {
margin-right: 1.5rem !important;
}
+
.mr-xl-5 {
margin-right: 3rem !important;
}
+
.mr-xl-auto {
margin-right: auto !important;
}
+
.mb-xl-0 {
margin-bottom: 0 !important;
}
+
.mb-xl-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-xl-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-xl-3 {
margin-bottom: 1rem !important;
}
+
.mb-xl-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-xl-5 {
margin-bottom: 3rem !important;
}
+
.mb-xl-auto {
margin-bottom: auto !important;
}
+
.ml-xl-0 {
margin-left: 0 !important;
}
+
.ml-xl-1 {
margin-left: 0.25rem !important;
}
+
.ml-xl-2 {
margin-left: 0.5rem !important;
}
+
.ml-xl-3 {
margin-left: 1rem !important;
}
+
.ml-xl-4 {
margin-left: 1.5rem !important;
}
+
.ml-xl-5 {
margin-left: 3rem !important;
}
+
.ml-xl-auto {
margin-left: auto !important;
}
+
.p-xl-0 {
padding: 0 !important;
}
+
.p-xl-1 {
padding: 0.25rem !important;
}
+
.p-xl-2 {
padding: 0.5rem !important;
}
+
.p-xl-3 {
padding: 1rem !important;
}
+
.p-xl-4 {
padding: 1.5rem !important;
}
+
.p-xl-5 {
padding: 3rem !important;
}
+
.px-xl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-xl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-xl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-xl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-xl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-xl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-xl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-xl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-xl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-xl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-xl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-xl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-xl-0 {
padding-top: 0 !important;
}
+
.pt-xl-1 {
padding-top: 0.25rem !important;
}
+
.pt-xl-2 {
padding-top: 0.5rem !important;
}
+
.pt-xl-3 {
padding-top: 1rem !important;
}
+
.pt-xl-4 {
padding-top: 1.5rem !important;
}
+
.pt-xl-5 {
padding-top: 3rem !important;
}
+
.pr-xl-0 {
padding-right: 0 !important;
}
+
.pr-xl-1 {
padding-right: 0.25rem !important;
}
+
.pr-xl-2 {
padding-right: 0.5rem !important;
}
+
.pr-xl-3 {
padding-right: 1rem !important;
}
+
.pr-xl-4 {
padding-right: 1.5rem !important;
}
+
.pr-xl-5 {
padding-right: 3rem !important;
}
+
.pb-xl-0 {
padding-bottom: 0 !important;
}
+
.pb-xl-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-xl-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-xl-3 {
padding-bottom: 1rem !important;
}
+
.pb-xl-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-xl-5 {
padding-bottom: 3rem !important;
}
+
.pl-xl-0 {
padding-left: 0 !important;
}
+
.pl-xl-1 {
padding-left: 0.25rem !important;
}
+
.pl-xl-2 {
padding-left: 0.5rem !important;
}
+
.pl-xl-3 {
padding-left: 1rem !important;
}
+
.pl-xl-4 {
padding-left: 1.5rem !important;
}
+
.pl-xl-5 {
padding-left: 3rem !important;
}
+
.text-xl-left {
text-align: left !important;
}
+
.text-xl-right {
text-align: right !important;
}
+
.text-xl-center {
text-align: center !important;
}
}
-
@media (min-width: 1400px) {
.float-xxl-left {
float: left !important;
}
+
.float-xxl-right {
float: right !important;
}
+
.float-xxl-none {
float: none !important;
}
+
.d-xxl-inline {
display: inline !important;
}
+
.d-xxl-inline-block {
display: inline-block !important;
}
+
.d-xxl-block {
display: block !important;
}
+
+ .d-xxl-grid {
+ display: grid !important;
+ }
+
.d-xxl-table {
display: table !important;
}
+
.d-xxl-table-row {
display: table-row !important;
}
+
.d-xxl-table-cell {
display: table-cell !important;
}
+
.d-xxl-flex {
display: flex !important;
}
+
.d-xxl-inline-flex {
display: inline-flex !important;
}
+
.d-xxl-none {
display: none !important;
}
+
.flex-xxl-fill {
flex: 1 1 auto !important;
}
+
.flex-xxl-row {
flex-direction: row !important;
}
+
.flex-xxl-column {
flex-direction: column !important;
}
+
.flex-xxl-row-reverse {
flex-direction: row-reverse !important;
}
+
.flex-xxl-column-reverse {
flex-direction: column-reverse !important;
}
+
.flex-xxl-grow-0 {
flex-grow: 0 !important;
}
+
.flex-xxl-grow-1 {
flex-grow: 1 !important;
}
+
.flex-xxl-shrink-0 {
flex-shrink: 0 !important;
}
+
.flex-xxl-shrink-1 {
flex-shrink: 1 !important;
}
+
.flex-xxl-wrap {
flex-wrap: wrap !important;
}
+
.flex-xxl-nowrap {
flex-wrap: nowrap !important;
}
+
.flex-xxl-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
+
+ .gap-xxl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xxl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xxl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xxl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xxl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xxl-5 {
+ gap: 3rem !important;
+ }
+
.justify-content-xxl-start {
justify-content: flex-start !important;
}
+
.justify-content-xxl-end {
justify-content: flex-end !important;
}
+
.justify-content-xxl-center {
justify-content: center !important;
}
+
.justify-content-xxl-between {
justify-content: space-between !important;
}
+
.justify-content-xxl-around {
justify-content: space-around !important;
}
+
.justify-content-xxl-evenly {
justify-content: space-evenly !important;
}
+
.align-items-xxl-start {
align-items: flex-start !important;
}
+
.align-items-xxl-end {
align-items: flex-end !important;
}
+
.align-items-xxl-center {
align-items: center !important;
}
+
.align-items-xxl-baseline {
align-items: baseline !important;
}
+
.align-items-xxl-stretch {
align-items: stretch !important;
}
+
.align-content-xxl-start {
align-content: flex-start !important;
}
+
.align-content-xxl-end {
align-content: flex-end !important;
}
+
.align-content-xxl-center {
align-content: center !important;
}
+
.align-content-xxl-between {
align-content: space-between !important;
}
+
.align-content-xxl-around {
align-content: space-around !important;
}
+
.align-content-xxl-stretch {
align-content: stretch !important;
}
+
.align-self-xxl-auto {
align-self: auto !important;
}
+
.align-self-xxl-start {
align-self: flex-start !important;
}
+
.align-self-xxl-end {
align-self: flex-end !important;
}
+
.align-self-xxl-center {
align-self: center !important;
}
+
.align-self-xxl-baseline {
align-self: baseline !important;
}
+
.align-self-xxl-stretch {
align-self: stretch !important;
}
+
.order-xxl-first {
order: -1 !important;
}
+
.order-xxl-0 {
order: 0 !important;
}
+
.order-xxl-1 {
order: 1 !important;
}
+
.order-xxl-2 {
order: 2 !important;
}
+
.order-xxl-3 {
order: 3 !important;
}
+
.order-xxl-4 {
order: 4 !important;
}
+
.order-xxl-5 {
order: 5 !important;
}
+
.order-xxl-last {
order: 6 !important;
}
+
.m-xxl-0 {
margin: 0 !important;
}
+
.m-xxl-1 {
margin: 0.25rem !important;
}
+
.m-xxl-2 {
margin: 0.5rem !important;
}
+
.m-xxl-3 {
margin: 1rem !important;
}
+
.m-xxl-4 {
margin: 1.5rem !important;
}
+
.m-xxl-5 {
margin: 3rem !important;
}
+
.m-xxl-auto {
margin: auto !important;
}
+
.mx-xxl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
+
.mx-xxl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
+
.mx-xxl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
+
.mx-xxl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
+
.mx-xxl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
+
.mx-xxl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
+
.mx-xxl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
+
.my-xxl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
+
.my-xxl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
+
.my-xxl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
+
.my-xxl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
+
.my-xxl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
+
.my-xxl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
+
.my-xxl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
+
.mt-xxl-0 {
margin-top: 0 !important;
}
+
.mt-xxl-1 {
margin-top: 0.25rem !important;
}
+
.mt-xxl-2 {
margin-top: 0.5rem !important;
}
+
.mt-xxl-3 {
margin-top: 1rem !important;
}
+
.mt-xxl-4 {
margin-top: 1.5rem !important;
}
+
.mt-xxl-5 {
margin-top: 3rem !important;
}
+
.mt-xxl-auto {
margin-top: auto !important;
}
+
.mr-xxl-0 {
margin-right: 0 !important;
}
+
.mr-xxl-1 {
margin-right: 0.25rem !important;
}
+
.mr-xxl-2 {
margin-right: 0.5rem !important;
}
+
.mr-xxl-3 {
margin-right: 1rem !important;
}
+
.mr-xxl-4 {
margin-right: 1.5rem !important;
}
+
.mr-xxl-5 {
margin-right: 3rem !important;
}
+
.mr-xxl-auto {
margin-right: auto !important;
}
+
.mb-xxl-0 {
margin-bottom: 0 !important;
}
+
.mb-xxl-1 {
margin-bottom: 0.25rem !important;
}
+
.mb-xxl-2 {
margin-bottom: 0.5rem !important;
}
+
.mb-xxl-3 {
margin-bottom: 1rem !important;
}
+
.mb-xxl-4 {
margin-bottom: 1.5rem !important;
}
+
.mb-xxl-5 {
margin-bottom: 3rem !important;
}
+
.mb-xxl-auto {
margin-bottom: auto !important;
}
+
.ml-xxl-0 {
margin-left: 0 !important;
}
+
.ml-xxl-1 {
margin-left: 0.25rem !important;
}
+
.ml-xxl-2 {
margin-left: 0.5rem !important;
}
+
.ml-xxl-3 {
margin-left: 1rem !important;
}
+
.ml-xxl-4 {
margin-left: 1.5rem !important;
}
+
.ml-xxl-5 {
margin-left: 3rem !important;
}
+
.ml-xxl-auto {
margin-left: auto !important;
}
+
.p-xxl-0 {
padding: 0 !important;
}
+
.p-xxl-1 {
padding: 0.25rem !important;
}
+
.p-xxl-2 {
padding: 0.5rem !important;
}
+
.p-xxl-3 {
padding: 1rem !important;
}
+
.p-xxl-4 {
padding: 1.5rem !important;
}
+
.p-xxl-5 {
padding: 3rem !important;
}
+
.px-xxl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
+
.px-xxl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
+
.px-xxl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
+
.px-xxl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
+
.px-xxl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
+
.px-xxl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
+
.py-xxl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
+
.py-xxl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
+
.py-xxl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
+
.py-xxl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
+
.py-xxl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
+
.py-xxl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
+
.pt-xxl-0 {
padding-top: 0 !important;
}
+
.pt-xxl-1 {
padding-top: 0.25rem !important;
}
+
.pt-xxl-2 {
padding-top: 0.5rem !important;
}
+
.pt-xxl-3 {
padding-top: 1rem !important;
}
+
.pt-xxl-4 {
padding-top: 1.5rem !important;
}
+
.pt-xxl-5 {
padding-top: 3rem !important;
}
+
.pr-xxl-0 {
padding-right: 0 !important;
}
+
.pr-xxl-1 {
padding-right: 0.25rem !important;
}
+
.pr-xxl-2 {
padding-right: 0.5rem !important;
}
+
.pr-xxl-3 {
padding-right: 1rem !important;
}
+
.pr-xxl-4 {
padding-right: 1.5rem !important;
}
+
.pr-xxl-5 {
padding-right: 3rem !important;
}
+
.pb-xxl-0 {
padding-bottom: 0 !important;
}
+
.pb-xxl-1 {
padding-bottom: 0.25rem !important;
}
+
.pb-xxl-2 {
padding-bottom: 0.5rem !important;
}
+
.pb-xxl-3 {
padding-bottom: 1rem !important;
}
+
.pb-xxl-4 {
padding-bottom: 1.5rem !important;
}
+
.pb-xxl-5 {
padding-bottom: 3rem !important;
}
+
.pl-xxl-0 {
padding-left: 0 !important;
}
+
.pl-xxl-1 {
padding-left: 0.25rem !important;
}
+
.pl-xxl-2 {
padding-left: 0.5rem !important;
}
+
.pl-xxl-3 {
padding-left: 1rem !important;
}
+
.pl-xxl-4 {
padding-left: 1.5rem !important;
}
+
.pl-xxl-5 {
padding-left: 3rem !important;
}
+
.text-xxl-left {
text-align: left !important;
}
+
.text-xxl-right {
text-align: right !important;
}
+
.text-xxl-center {
text-align: center !important;
}
}
-
@media (min-width: 1200px) {
.fs-1 {
font-size: 2.5rem !important;
}
+
.fs-2 {
font-size: 2rem !important;
}
+
.fs-3 {
font-size: 1.75rem !important;
}
+
.fs-4 {
font-size: 1.5rem !important;
}
+
.fs-sm-1 {
font-size: 2.5rem !important;
}
+
.fs-sm-2 {
font-size: 2rem !important;
}
+
.fs-sm-3 {
font-size: 1.75rem !important;
}
+
.fs-sm-4 {
font-size: 1.5rem !important;
}
+
.fs-md-1 {
font-size: 2.5rem !important;
}
+
.fs-md-2 {
font-size: 2rem !important;
}
+
.fs-md-3 {
font-size: 1.75rem !important;
}
+
.fs-md-4 {
font-size: 1.5rem !important;
}
+
.fs-lg-1 {
font-size: 2.5rem !important;
}
+
.fs-lg-2 {
font-size: 2rem !important;
}
+
.fs-lg-3 {
font-size: 1.75rem !important;
}
+
.fs-lg-4 {
font-size: 1.5rem !important;
}
}
-
@media print {
.d-print-inline {
display: inline !important;
}
+
.d-print-inline-block {
display: inline-block !important;
}
+
.d-print-block {
display: block !important;
}
+
+ .d-print-grid {
+ display: grid !important;
+ }
+
.d-print-table {
display: table !important;
}
+
.d-print-table-row {
display: table-row !important;
}
+
.d-print-table-cell {
display: table-cell !important;
}
+
.d-print-flex {
display: flex !important;
}
+
.d-print-inline-flex {
display: inline-flex !important;
}
+
.d-print-none {
display: none !important;
}
}
+
/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map
index 7227a806e8..476bdfe5f4 100644
--- a/dist/css/bootstrap.css.map
+++ b/dist/css/bootstrap.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/_functions.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.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/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACLF;EAGI,kBAAiC;EAAjC,oBAAiC;EAAjC,oBAAiC;EAAjC,kBAAiC;EAAjC,iBAAiC;EAAjC,oBAAiC;EAAjC,oBAAiC;EAAjC,mBAAiC;EAAjC,kBAAiC;EAAjC,kBAAiC;EAAjC,gBAAiC;EAAjC,kBAAiC;EAAjC,uBAAiC;EAIjC,qBAAiC;EAAjC,uBAAiC;EAAjC,qBAAiC;EAAjC,kBAAiC;EAAjC,qBAAiC;EAAjC,oBAAiC;EAAjC,mBAAiC;EAAjC,kBAAiC;EAKnC,qNAAsD;EACtD,yGAAoD;EACpD,yFAAwC;ADiB1C;;AEhBA;;;EAGE,sBAAsB;AFmBxB;;AENI;ED/BJ;ICgCM,uBAAuB;EFU3B;AACF;;AEEA;EACE,SAAS;EACT,sCC+VsF;ECnJlF,eAvE+B;EFnInC,gBCyW+B;EDxW/B,gBC8W+B;ED7W/B,cCnCgB;EDqChB,sBC9Ca;ED+Cb,8BAA8B;EAC9B,6CCtCa;AHsCf;;AAEA;EEYE,qBAAqB;AFVvB;;AEmBA;EACE,cAAsB;EACtB,cC4YmC;ED3YnC,8BAA8B;EAC9B,SAAS;EACT,aC2Y+B;AH3ZjC;;AEmBA;EACE,WCmQ+B;AHnRjC;;AE0BA;EACE,aAAa;EACb,qBCmVuC;EDhVvC,gBCmV+B;EDlV/B,gBCmV+B;AH5WjC;;AE6BA;EEoJQ,iCAf6B;AJ9JrC;;AIWI;EFcJ;IE2JQ,iBAlF6B;EJ7FnC;AACF;;AEwBA;EE+IQ,iCAf6B;AJpJrC;;AICI;EFmBJ;IEsJQ,eAlF6B;EJnFnC;AACF;;AEmBA;EE0IQ,+BAf6B;AJ1IrC;;AITI;EFwBJ;IEiJQ,kBAlF6B;EJzEnC;AACF;;AEcA;EEqIQ,iCAf6B;AJhIrC;;AInBI;EF6BJ;IE4IQ,iBAlF6B;EJ/DnC;AACF;;AESA;EE4HM,kBAvE+B;AJ1DrC;;AEUA;EEuHM,eAvE+B;AJtDrC;;AEiBA;EACE,aAAa;EACb,mBC8I8B;AH5JhC;;AEyBA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;AFtBhC;;AE4BA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AFzBtB;;AE+BA;;EAEE,kBAAkB;AF5BpB;;AE+BA;;;EAGE,aAAa;EACb,mBAAmB;AF5BrB;;AE+BA;;;;EAIE,gBAAgB;AF5BlB;;AE+BA;EACE,gBCuN+B;AHnPjC;;AEiCA;EACE,oBAAoB;EACpB,cAAc;AF9BhB;;AEoCA;EACE,gBAAgB;AFjClB;;AEyCA;;EAEE,mBCgMkC;AHtOpC;;AE8CA;EEuBM,kBAvE+B;AJMrC;;AEiDA;EACE,cCwPgC;EDvPhC,yBC+PmC;AH7SrC;;AEuDA;;EAEE,kBAAkB;EEGd,iBAvE+B;EFsEnC,cAAc;EACd,wBAAwB;AFpD1B;;AEuDA;EAAM,cAAc;AFnDpB;;AEoDA;EAAM,UAAU;AFhDhB;;AEqDA;EACE,cCpOe;EDqOf,0BCaiD;AH/DnD;;AEgDA;EAKI,cGzGiC;ALwDrC;;AE2DA;EAGI,cAAc;EACd,qBAAqB;AF1DzB;;AEiEA;;;;EAIE,qCC6GoF;ECpJhF,cAvE+B;AJiDrC;;AEuEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EErDV,kBAvE+B;EF+HnC,6BAA6B;AFrE/B;;AE8DA;EEjDM,kBAvE+B;EFoIjC,cAAc;EACd,kBAAkB;AFrEtB;;AEyEA;EElEM,kBAvE+B;EF2InC,cC3Re;ED4Rf,qBAAqB;AFtEvB;;AEyEE;EACE,cAAc;AFtElB;;AE0EA;EACE,sBCo+BuC;ECljCnC,kBAvE+B;EFuJnC,WCpUa;EDqUb,yBC5TgB;EGEd,qBH4U+B;AHxFnC;;AEkEA;EAQI,UAAU;EErFR,cAvE+B;EF8JjC,gBCyE6B;AH/IjC;;AE+EA;EACE,gBAAgB;AF5ElB;;AEkFA;;EAEE,sBAAsB;AF/ExB;;AEuFA;EACE,oBAAoB;EACpB,yBAAyB;AFpF3B;;AEuFA;EACE,mBCkIiC;EDjIjC,sBCiIiC;EDhIjC,cCvWgB;EDwWhB,gBAAgB;AFpFlB;;AE2FA;EAEE,mBAAmB;EACnB,gCAAgC;AFzFlC;;AE4FA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;AFzFjB;;AEiGA;EACE,qBAAqB;AF9FvB;;AEoGA;EAEE,gBAAgB;AFlGlB;;AEyGA;EACE,mBAAmB;EACnB,0CAA0C;AFtG5C;;AE2GA;;;;;EAKE,SAAS;EACT,oBAAoB;EEpLhB,kBAvE+B;EF6PnC,oBAAoB;AFxGtB;;AE6GA;;EAEE,iBAAiB;AF1GnB;;AE+GA;;EAEE,oBAAoB;AF5GtB;;AAEA;EEiHE,eAAe;AF/GjB;;AEqHA;EACE,iBAAiB;AFlHnB;;AAEA;EEuHE,aAAa;AFrHf;;AE6HA;;;;EAIE,0BAA0B;AF1H5B;;AEsHA;;;;EAQM,eAAe;AFvHrB;;AE8HA;EACE,UAAU;EACV,kBAAkB;AF3HpB;;AEgIA;EACE,gBAAgB;AF7HlB;;AEuIA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AFpIX;;AE6IA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC9CiC;ECjO3B,iCAf6B;EFiSnC,oBAAoB;EACpB,mBAAmB;AF3IrB;;AI1SI;EF6aJ;IEpQQ,iBAlF6B;EJwNnC;AACF;;AE6HA;EAWI,WAAW;AFpIf;;AE2IA;;;;;;;EAOE,UAAU;AFxIZ;;AE2IA;EACE,YAAY;AFxId;;AAEA;EEgJE,oBAAoB;EACpB,6BAA6B;AF9I/B;;AEmJA;EACE,wBAAwB;AFhJ1B;;AEqJA;EACE,UAAU;AFlJZ;;AEwJA;EACE,aAAa;EACb,0BAA0B;AFrJ5B;;AE0JA;EACE,qBAAqB;AFvJvB;;AE4JA;EACE,SAAS;AFzJX;;AEgKA;EACE,kBAAkB;EAClB,eAAe;AF7JjB;;AEqKA;EACE,wBAAwB;AFlK1B;;AAEA;EEyKE,wBAAwB;AFvK1B;;AO1aA;EH+NM,kBAvE+B;EGtJnC,gBJ8a+B;AHDjC;;AOxaE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AHuBjC;;AIpXI;EG1DF;IHmOM,eAlF6B;EJkSnC;AACF;;AOpbE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AHmCjC;;AIhYI;EG1DF;IHmOM,iBAlF6B;EJ8SnC;AACF;;AOhcE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AH+CjC;;AI5YI;EG1DF;IHmOM,eAlF6B;EJ0TnC;AACF;;AO5cE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AH2DjC;;AIxZI;EG1DF;IHmOM,iBAlF6B;EJsUnC;AACF;;AOxdE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AHuEjC;;AIpaI;EG1DF;IHmOM,eAlF6B;EJkVnC;AACF;;AOpeE;EH4NM,iCAf6B;EG3MjC,gBJkaqB;EIjarB,gBJoZ6B;AHmFjC;;AIhbI;EG1DF;IHmOM,iBAlF6B;EJ8VnC;AACF;;AO1dA;ECrDE,eAAe;EACf,gBAAgB;ARmhBlB;;AO1dA;EC1DE,eAAe;EACf,gBAAgB;ARwhBlB;;AO5dA;EACE,qBAAqB;AP+dvB;;AOheA;EAII,oBJqa+B;AH2DnC;;AOtdA;EH4KM,kBAvE+B;EGnGnC,yBAAyB;APyd3B;;AOrdA;EACE,mBJwJW;ECaP,kBAvE+B;AJ2XrC;;AO1dA;EAKI,gBAAgB;APydpB;;AOrdA;EACE,iBJ+IW;EI9IX,mBJ8IW;ECaP,kBAvE+B;EGlFnC,cJrFgB;AH6iBlB;;AO5dA;EAOI,qBAAqB;APydzB;;ASvjBA;ECIE,eAAe;EAGf,YAAY;AVqjBd;;AStjBA;EACE,gBNgsCwC;EM/rCxC,sBNRa;EMSb,yBNNgB;EGQd,sBH2UgC;EOlVlC,eAAe;EAGf,YAAY;AV8jBd;;AShjBA;EAEE,qBAAqB;ATkjBvB;;AS/iBA;EACE,qBAA0B;EAC1B,cAAc;ATkjBhB;;AS/iBA;ELqNM,kBAvE+B;EK5InC,cN3BgB;AH6kBlB;;AWplBE;;;;;;;ECHA,qBAAc;EAEd,WAAW;EACX,2CAA2C;EAC3C,0CAA0C;EAC1C,kBAAkB;EAClB,iBAAiB;AZgmBnB;;Aa1iBI;EF5CE;IACE,gBRwSG;EHkTT;AACF;;AahjBI;EF5CE;IACE,gBRySG;EHuTT;AACF;;AatjBI;EF5CE;IACE,gBR0SG;EH4TT;AACF;;Aa5jBI;EF5CE;IACE,iBR2SI;EHiUV;AACF;;AalkBI;EF5CE;IACE,iBR4SK;EHsUX;AACF;;AcloBE;ECAA,qBAAwC;EACxC,gBAAwC;EACxC,aAAa;EACb,eA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ACF;;AkBt4DA;EACE,qBf4mB2C;AH6xC7C;;AkBh4DA;EACE,iCbyK8D;EaxK9D,oCbwK8D;EavK9D,gBAAgB;Ed0OZ,kBAvE+B;Ec/JnC,gBf2Y+B;AHs/CjC;;AkB73DA;EACE,+Bb8J8D;Ea7J9D,kCb6J8D;EDmE1D,kBAvE+B;AJwuDrC;;AkB73DA;EACE,gCbwJ8D;EavJ9D,mCbuJ8D;EDmE1D,mBAvE+B;AJ8uDrC;;AmB95DA;EACE,mBhBsmB4C;EChXxC,kBAvE+B;Ee3KnC,chBIgB;AH25DlB;;AoBp6DA;EACE,cAAc;EACd,WAAW;EACX,uCfiL8D;EehL9D,yBjBkiBkC;EC/S9B,eAvE+B;EgBzKnC,gBjB+Y+B;EiB9Y/B,gBjBoZ+B;EiBnZ/B,cjBGgB;EiBFhB,sBjBPa;EiBQb,4BAA4B;EAC5B,yBjBLgB;EiBMhB,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EdCd,sBH2UgC;EkB7U9B,wElBspB4F;AHmxClG;;AqBr6DM;EDhBN;ICiBQ,gBAAgB;ErBy6DtB;AACF;;AoB37DA;EAuBI,cjBXc;EiBYd,sBjBrBW;EiBsBX,qBf8HiC;Ee7HjC,UAAU;EAKR,kDjBFW;AHs6DjB;;AoBn8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBi6Dd;;AoBx8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBi6Dd;;AoBx8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBi6Dd;;AoBx8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBi6Dd;;AoBx8DA;EAiDI,yBjB5Cc;EiB+Cd,UAAU;ApBy5Dd;;AoBh5DA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EAChB,gBjB0V+B;EiBzV/B,cjBvDgB;EiBwDhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;ApBm5DrC;;AoB55DA;EAaI,gBAAgB;EAChB,eAAe;ApBm5DnB;;AoBx4DA;EACE,sCf6F8D;Ee5F9D,uBjBydiC;EC1T7B,mBAvE+B;EElKjC,qBH4U+B;AH2oDnC;;AoBx4DA;EACE,oCfsF8D;EerF9D,oBjBsdgC;EC9T5B,kBAvE+B;EElKjC,qBH6U+B;AHipDnC;;AoBx4DA;EACE,eAAe;EACf,iBjB+bmC;AH48CrC;;AoBx4DA;Ed3FI,sBH2UgC;AH4pDpC;;AoBx4DA;Ed/FI,sBH2UgC;AHgqDpC;;AsBx/DA;EACE,cAAc;EACd,WAAW;EACX,uCjBgL8D;EiB/K9D,0CnBiiBkC;EC/S9B,eAvE+B;EkBxKnC,gBnB8Y+B;EmB7Y/B,gBnBmZ+B;EmBlZ/B,cnBEgB;EmBDhB,sBAAsB;EACtB,sBnBTa;EmBUb,iPjBmEgF;EiBlEhF,4BAA4B;EAC5B,yCnBytBqE;EmBxtBrE,0BnBytB2C;EmBxtB3C,yBnBVgB;EGOd,sBH2UgC;EmBrUlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AtBy/DlB;;AsB5gEA;EAsBI,qBjBgIiC;EiB/HjC,UAAU;EAKR,kDnBAW;AHs/DjB;;AsBlhEA;EAqCM,cnB1BY;EmB2BZ,sBnBpCS;AHqhEf;;AsBvhEA;EA4CI,YAAY;EACZ,sBnBwfgC;EmBvfhC,sBAAsB;AtB++D1B;;AsB7hEA;EAkDI,cnB1Cc;EmB2Cd,yBnB/Cc;AH8hElB;;AsBliEA;EAyDI,kBAAkB;EAClB,0BnB/Cc;AH4hElB;;AsBz+DA;EACE,kCjBoH8D;EiBnH9D,oBnB+ekC;EmB9elC,uBnB8ekC;EmB7elC,oBnB8eiC;EC1T7B,mBAvE+B;AJg4DrC;;AsBz+DA;EACE,gCjB4G8D;EiB3G9D,mBnB2eiC;EmB1ejC,sBnB0eiC;EmBzejC,kBnB0egC;EC9T5B,kBAvE+B;AJw4DrC;;AuBxjEA;EACE,cAAc;EACd,kBpBoqB2E;EoBnqB3E,mBpBoqBsE;EoBnqBtE,uBpBoqB+C;AHu5CjD;;AuB/jEA;EAOI,WAAW;EACX,mBAA0C;AvB4jE9C;;AuBxjEA;EACE,UpBwpB2C;EoBvpB3C,WpBupB2C;EoBtpB3C,kBAA6D;EAC7D,mBAAmB;EACnB,sBpBda;EoBeb,4BAA4B;EAC5B,2BAA2B;EAC3B,wBAAwB;EACxB,qCpB2pBoE;EoB1pBpE,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EAChB,iCAAmB;EAAnB,mBAAmB;EFXf,mJlB+pBuK;AHw6C7K;;AqBnkEM;EEJN;IFKQ,gBAAgB;ErBukEtB;AACF;;AuB7kEA;EjBEI,qBHmqB2C;AH46C/C;;AuBjlEA;EAoBI,kBpBkpByC;AH+6C7C;;AuBrlEA;EAwBI,uBpByoBqD;AHw7CzD;;AuBzlEA;EA4BI,qBlB+GiC;EkB9GjC,UAAU;EACV,kDpBba;AH8kEjB;;AuB/lEA;EAkCI,yBpBjBa;EoBkBb,qBpBlBa;AHmlEjB;;AuBpmEA;EAyCQ,+OlB2B0E;ALoiElF;;AuBxmEA;EAiDQ,uJlBmB0E;ALwiElF;;AuB5mEA;EAuDI,yBpBtCa;EoBuCb,qBpBvCa;EoB4CX,yOlBO4E;AL8iElF;;AuBlnEA;EAkEI,oBAAoB;EACpB,YAAY;EACZ,YpBinByC;AHm8C7C;;AuBxnEA;EA4EM,YpBymBuC;AHu8C7C;;AuBliEA;EACE,mBpBgmByD;AHq8C3D;;AuBtiEA;EAII,UpB4lBiC;EoB3lBjC,mBAA2C;EAC3C,wKlB5B8E;EkB6B9E,gCAAgC;EjB/FhC,kBHwrBiC;AH88CrC;;AuB9iEA;EAWM,0JlBjC4E;ALwkElF;;AuBljEA;EAeM,iCpB2lBwC;EoBtlBtC,uJlB1C0E;AL6kElF;;AuB7hEA;EACE,qBAAqB;EACrB,kBpBglB0C;AHg9C5C;;AuB7hEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AvBgiEtB;;AuBniEA;EAQM,oBAAoB;EACpB,YAAY;EACZ,apBqc2B;AH0lDjC;;AwBlrEA;EACE,kDAAwD;EACxD,kBAAkB;AxBqrEpB;;AwBlrEA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,kCAAoE;EACpE,SAAS;EACT,UAAU;AxBqrEZ;;AwB3rEA;EASI,qBnB6IiC;EmB5IjC,kDrBkBa;AHoqEjB;;AwBhsEA;;EAiBI,yBrBbc;AHisElB;;AwB/qEA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,kCAAoE;EACpE,qBrBxBgB;EGOd,sBH2UgC;AHy3DpC;;AwB9qEA;EACE,cAAc;EACd,YAAY;EACZ,yBrB+fkC;EqB9flC,gBAAgB;EAEhB,gBrB4W+B;EqB3W/B,gBrBiX+B;EqBhX/B,crBhCgB;EqBiChB,uBAAuB;EACvB,mBAAmB;EACnB,sBrB5Ca;EqB6Cb,qBAAqB;EACrB,mBAAmB;EACnB,iBrBoS+B;EG1S7B,+BkBOiC;ElBNjC,kCkBMiC;AxBirErC;;AwB9qEA;EACE,cAAc;EACd,cAAc;EACd,yBrB6ekC;EqB5elC,iBrB4R+B;EqB3R/B,gBrBiW+B;EqBhW/B,crBhDgB;EsBbhB,yBtBMgB;EqByDhB,qBAAqB;EACrB,mBAAmB;EACnB,iBrBsR+B;EGxT7B,gCkBmCkC;ElBlClC,mCkBkCkC;AxBkrEtC;;AwB/qEA;EACE,iDAAwD;EpBkLpD,mBAvE+B;AJwkErC;;AwBprEA;;EAMI,uBrBue+B;AH4sDnC;;AwB/qEA;EACE,+CAAwD;EpBwKpD,kBAvE+B;AJklErC;;AwBprEA;;EAMI,oBrBie8B;AHktDlC;;A0BrwEA;EACE,WAAW;EACX,crB6K2B;EqB5K3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A1BwwElB;;A0B7wEA;EAQI,aAAa;A1BywEjB;;A0BjxEA;EAY8B,kEvBeb;AH0vEjB;;A0BrxEA;EAa8B,kEvBcb;AH8vEjB;;A0BzxEA;EAc8B,kEvBab;AHkwEjB;;A0B7xEA;EAkBI,SAAS;A1B+wEb;;A0BjyEA;EAsBI,WvBmvB2C;EuBlvB3C,YvBkvB2C;EuBjvB3C,oBAAqE;ED3BvE,yBtB8Be;EuBDb,SvBkvBwC;EGhwBxC,mBHiwB2C;EkBnwBzC,oHlBywBkI;EkBzwBlI,4GlBywBkI;EuBrvBpI,wBAAgB;EAAhB,gBAAgB;A1B8wEpB;;AqB9xEM;EKdN;ILeQ,wBAAgB;IAAhB,gBAAgB;ErBkyEtB;AACF;;A0BlzEA;EDHE,yBpBwJmC;ALiqErC;;A0BtzEA;EAsCI,WvB4tBkC;EuB3tBlC,cvB4tBmC;EuB3tBnC,kBAAkB;EAClB,evB2tBqC;EuB1tBrC,yBvBtCc;EuBuCd,yBAAyB;EpB/BzB,mBH0vBkC;AH0jDtC;;A0Bh0EA;EAiDI,WvBwtB2C;EuBvtB3C,YvButB2C;EsB5wB7C,yBtB8Be;EuByBb,SvBwtBwC;EGhwBxC,mBHiwB2C;EkBnwBzC,iHlBywBkI;EkBzwBlI,4GlBywBkI;EuB3tBpI,qBAAgB;EAAhB,gBAAgB;A1BkxEpB;;AqB5zEM;EKdN;ILeQ,qBAAgB;IAAhB,gBAAgB;ErBg0EtB;AACF;;A0Bh1EA;EDHE,yBpBwJmC;AL+rErC;;A0Bp1EA;EAgEI,WvBksBkC;EuBjsBlC,cvBksBmC;EuBjsBnC,kBAAkB;EAClB,evBisBqC;EuBhsBrC,yBvBhEc;EuBiEd,yBAAyB;EpBzDzB,mBH0vBkC;AHwlDtC;;A0B91EA;EA2EI,WvB8rB2C;EuB7rB3C,YvB6rB2C;EuB5rB3C,aAAa;EACb,qBvB2dkC;EuB1dlC,oBvB0dkC;EsB5iBpC,yBtB8Be;EuBsDb,SvB2rBwC;EGhwBxC,mBHiwB2C;EkBnwBzC,gHlBywBkI;EkBzwBlI,4GlBywBkI;EuB9rBpI,gBAAgB;A1BsxEpB;;AqB71EM;EKdN;ILeQ,oBAAgB;IAAhB,gBAAgB;ErBi2EtB;AACF;;A0Bj3EA;EDHE,yBpBwJmC;ALguErC;;A0Br3EA;EA6FI,WvBqqBkC;EuBpqBlC,cvBqqBmC;EuBpqBnC,kBAAkB;EAClB,evBoqBqC;EuBnqBrC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA0C;A1B4xE9C;;A0B/3EA;EAwGI,yBvBpGc;EGQd,mBH0vBkC;AH8nDtC;;A0Bp4EA;EA6GI,kBAAkB;EAClB,yBvB1Gc;EGQd,mBH0vBkC;AHooDtC;;A0B14EA;EAmHI,oBAAoB;A1B2xExB;;A0B94EA;EAsHM,yBvBhHY;AH44ElB;;A0Bl5EA;EA0HM,yBvBpHY;AHg5ElB;;A0Bt5EA;EA8HM,yBvBxHY;AHo5ElB;;A2B95EA;EACE,kBAAkB;A3Bi6EpB;;A2Bl6EA;;EAKI,0BtBiL4D;EsBhL5D,qBxBkiBgC;AHg4DpC;;A2Bx6EA;EAUI,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,YAAY;EACZ,qBxB0hBgC;EwBzhBhC,oBAAoB;EACpB,6BAA6C;EAC7C,qBAAqB;ENHnB,gElBgzB8E;AHsnDpF;;AqBl6EM;EMlBN;INmBQ,gBAAgB;ErBs6EtB;AACF;;A2B17EA;EAwBM,kBAAkB;A3Bs6ExB;;A2B97EA;EAwBM,kBAAkB;A3Bs6ExB;;A2B97EA;EAwBM,kBAAkB;A3Bs6ExB;;A2B97EA;EAwBM,kBAAkB;A3Bs6ExB;;A2B97EA;EA6BM,qBxB6xBoC;EwB5xBpC,wBxB6xBmC;AHwoDzC;;A2Bn8EA;EA6BM,qBxB6xBoC;EwB5xBpC,wBxB6xBmC;AHwoDzC;;A2Bn8EA;EAkCM,qBxBwxBoC;EwBvxBpC,wBxBwxBmC;AH6oDzC;;A2Bx8EA;EAwCI,qBxBkxBsC;EwBjxBtC,wBxBkxBqC;AHkpDzC;;A2B78EA;EAgDM,axB4wB+B;EwB3wB/B,8DxB4wB4E;AHupDlF;;A2Bp9EA;;;EAgDM,axB4wB+B;EwB3wB/B,8DxB4wB4E;AHupDlF;;A2Bp9EA;EAuDM,axBqwB+B;EwBpwB/B,8DxBqwB4E;AH4pDlF;;A2Bt5E+B;EAnE/B;IAqEI,aAAa;IACb,8BAA8B;E3By5EhC;E2B/9EF;IAyEI,gBAAgB;IAChB,UAAU;IACV,6BAAoD;IACpD,SAAS;IN9DP,gBM+DsB;E3By5E1B;E2Bv5EA;IACE,cxBrEc;EH89EhB;AACF;;A4Bx+EA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A5B2+Eb;;A4Bh/EA;;;EAUI,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,YAAY;A5B4+EhB;;A4Bz/EA;;;EAoBI,UAAU;A5B2+Ed;;A4B//EA;EA0BM,UAAU;A5By+EhB;;A4BngFA;EtB8BI,0BsBAgC;EtBChC,6BsBDgC;A5B0+EpC;;A4BxgFA;EtB4CI,yBsBV+B;EtBW/B,4BsBX+B;A5B2+EnC;;A4B7gFA;EA0CI,kBAAkB;EAClB,UAAU;A5Bu+Ed;;A4BlhFA;EA8CM,UAAU;A5Bw+EhB;;A4B79EA;EACE,aAAa;EACb,mBAAmB;EACnB,yBzB0ekC;EC/S9B,eAvE+B;EwBlHnC,gBzBwV+B;EyBvV/B,gBzB6V+B;EyB5V/B,czBpDgB;EyBqDhB,kBAAkB;EAClB,mBAAmB;EACnB,yBzB9DgB;EyB+DhB,yBzB7DgB;EGOd,sBH2UgC;AH4sEpC;;A4Bv9EA;EACE,oCvBqG8D;ALq3EhE;;A4Bv9EA;EACE,gCvBiG8D;ALy3EhE;;A4Bv9EA;;;;EAIE,oBzB2dgC;EC9T5B,kBAvE+B;EElKjC,qBH6U+B;AH2tEnC;;A4Bv9EA;EACE,sCvBoF8D;ALs4EhE;;A4Bv9EA;EACE,kCvBgF8D;AL04EhE;;A4Bv9EA;;;;EAIE,uBzBsciC;EC1T7B,mBAvE+B;EElKjC,qBH4U+B;AH6uEnC;;A4Bv9EA;;EAEE,sBAAsE;A5B09ExE;;A4B/8EA;;EtB/FI,0BsBmGgC;EtBlGhC,6BsBkGgC;A5Bi9EpC;;A4Br9EA;;EtB/FI,0BsB0GgC;EtBzGhC,6BsByGgC;A5Bg9EpC;;A4B39EA;EAqBI,iBzBoM6B;EG1S7B,yBsBuG6B;EtBtG7B,4BsBsG6B;A5B28EjC;;A4B78E8D;ECpI1D,aAAa;EACb,WAAW;EACX,mB1BwlB0C;EChXxC,kBAvE+B;EyB9JjC,c1BkBa;AHkkFjB;;A4Br9E0C;EC3HtC,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uB1BggC2C;E0B//B3C,iBAAiB;EzB2Nf,mBAvE+B;EyBjJjC,W1B5BW;E0B6BX,wC1BIa;EGtBb,sBH2UgC;AH2xEpC;;A6BpnFI;;;;EAuCE,cAAc;A7BolFpB;;A6B3nFI;EA6CE,qB1BTW;E0BYT,oCxBoIwD;EwBnIxD,4PxB+B0E;EwB9B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gExBgIwD;ALg9EhE;;A6BpoFI;EAwDI,qB1BpBS;E0BqBT,iD1BrBS;AHqmFjB;;A6BzoFI;EAkEI,oCxBkHwD;EwBjHxD,kFxBiHwD;AL09EhE;;A6B9oFI;EA0EE,qB1BtCW;E0ByCT,uCxBuGwD;EwBtGxD,6dxBE0E;EwBD1E,+D1B+pBwG;E0B9pBxG,2ExBoGwD;ALk+EhE;;A6BtpFI;EAoFI,qB1BhDS;E0BiDT,iD1BjDS;AHunFjB;;A6B3pFI;EA4FE,qB1BxDW;AH2nFjB;;A6B/pFI;EA+FI,yB1B3DS;AH+nFjB;;A6BnqFI;EAmGI,iD1B/DS;AHmoFjB;;A6BvqFI;EAuGI,c1BnES;AHuoFjB;;A6BhkFE;EAEI,iBAAiB;A7BkkFvB;;A6B/qFI;EAqHI,qB1BjFS;AH+oFjB;;A6BnrFI;EA0HM,qB1BtFO;E0BuFP,iD1BvFO;AHopFjB;;A4BviFyG;ECpIrG,aAAa;EACb,WAAW;EACX,mB1BwlB0C;EChXxC,kBAvE+B;EyB9JjC,c1Bea;AH+pFjB;;A4B/iFmF;EC3H/E,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uB1BggC2C;E0B//B3C,iBAAiB;EzB2Nf,mBAvE+B;EyBjJjC,W1B5BW;E0B6BX,wC1BCa;EGnBb,sBH2UgC;AHq3EpC;;A6B9sFI;;;;EAuCE,cAAc;A7B8qFpB;;A6BrtFI;EA6CE,qB1BZW;E0BeT,oCxBoIwD;EwBnIxD,4UxB+B0E;EwB9B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gExBgIwD;AL0iFhE;;A6B9tFI;EAwDI,qB1BvBS;E0BwBT,iD1BxBS;AHksFjB;;A6BnuFI;EAkEI,oCxBkHwD;EwBjHxD,kFxBiHwD;ALojFhE;;A6BxuFI;EA0EE,qB1BzCW;E0B4CT,uCxBuGwD;EwBtGxD,6iBxBE0E;EwBD1E,+D1B+pBwG;E0B9pBxG,2ExBoGwD;AL4jFhE;;A6BhvFI;EAoFI,qB1BnDS;E0BoDT,iD1BpDS;AHotFjB;;A6BrvFI;EA4FE,qB1B3DW;AHwtFjB;;A6BzvFI;EA+FI,yB1B9DS;AH4tFjB;;A6B7vFI;EAmGI,iD1BlES;AHguFjB;;A6BjwFI;EAuGI,c1BtES;AHouFjB;;A6B1pFE;EAEI,iBAAiB;A7B4pFvB;;A6BzwFI;EAqHI,qB1BpFS;AH4uFjB;;A6B7wFI;EA0HM,qB1BzFO;E0B0FP,iD1B1FO;AHivFjB;;A8BlxFA;EACE,qBAAqB;EAErB,gB3BmZ+B;E2BlZ/B,gB3BwZ+B;E2BvZ/B,c3BOgB;E2BNhB,kBAAkB;EAClB,qBAAwD;EAExD,sBAAsB;EACtB,eAA2C;EAC3C,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;EC0G3C,yB5B+akC;EC/S9B,eAvE+B;EElKjC,sBH2UgC;EkB7U9B,qIlBslB6I;AHksEnJ;;AqBpxFM;EShBN;ITiBQ,gBAAgB;ErBwxFtB;AACF;;A8B1yFA;EAkBI,c3BNc;AHkyFlB;;A8BxxFE;EAEE,UAAU;EACV,kD3BIa;AHsxFjB;;A8BnzFA;;EA0CI,oBAAoB;EACpB,a3ByiB6B;AHquEjC;;A8BnwFE;ECvCA,W5BZa;EsBJb,yBtB8Be;E4BZf,qB5BYe;AHkyFjB;;A+B3yFE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;ALyqFrC;;A+B3yFE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,iDAAiE;A/ByyFvE;;A+BryFE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;ALwrFrC;;A+B7yFE;;;EAgBM,iDAAiE;A/BmyFzE;;A+B9xFE;EAEE,W5B3DW;E4B4DX,yB5BlCa;E4BqCb,qB5BrCa;AHm0FjB;;A8B1yFE;ECvCA,W5BZa;EsBJb,yBtBUgB;E4BQhB,qB5BRgB;AH61FlB;;A+Bl1FE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;ALgtFrC;;A+Bl1FE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,kDAAiE;A/Bg1FvE;;A+B50FE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;AL+tFrC;;A+Bp1FE;;;EAgBM,kDAAiE;A/B00FzE;;A+Br0FE;EAEE,W5B3DW;E4B4DX,yB5BtDc;E4ByDd,qB5BzDc;AH83FlB;;A8Bj1FE;ECvCA,W5BZa;EsBJb,yBtBqCe;E4BnBf,qB5BmBe;AHy2FjB;;A+Bz3FE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;ALuvFrC;;A+Bz3FE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,iDAAiE;A/Bu3FvE;;A+Bn3FE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;ALswFrC;;A+B33FE;;;EAgBM,iDAAiE;A/Bi3FzE;;A+B52FE;EAEE,W5B3DW;E4B4DX,yB5B3Ba;E4B8Bb,qB5B9Ba;AH04FjB;;A8Bx3FE;ECvCA,W5BFa;EsBdb,yBtBuCe;E4BrBf,qB5BqBe;AH84FjB;;A+Bh6FE;EACE,W5BRW;EsBdb,yBpBwJmC;E0BhIjC,qB1BgIiC;ALmyFrC;;A+Bh6FE;EAEE,W5BfW;EsBdb,yBpBwJmC;E0BzHjC,qB1ByHiC;E0BpH/B,iDAAiE;A/B85FvE;;A+B15FE;;;EAKE,W5B/BW;E4BgCX,yB1B0GiC;E0BvGjC,qB1BuGiC;ALkzFrC;;A+Bl6FE;;;EAgBM,iDAAiE;A/Bw5FzE;;A+Bn5FE;EAEE,W5BjDW;E4BkDX,yB5BzBa;E4B4Bb,qB5B5Ba;AH+6FjB;;A8B/5FE;ECvCA,W5BFa;EsBdb,yBtBoCe;E4BlBf,qB5BkBe;AHw7FjB;;A+Bv8FE;EACE,W5BRW;EsBdb,yBpBwJmC;E0BhIjC,qB1BgIiC;AL00FrC;;A+Bv8FE;EAEE,W5BfW;EsBdb,yBpBwJmC;E0BzHjC,qB1ByHiC;E0BpH/B,gDAAiE;A/Bq8FvE;;A+Bj8FE;;;EAKE,W5B/BW;E4BgCX,yB1B0GiC;E0BvGjC,qB1BuGiC;ALy1FrC;;A+Bz8FE;;;EAgBM,gDAAiE;A/B+7FzE;;A+B17FE;EAEE,W5BjDW;E4BkDX,yB5B5Ba;E4B+Bb,qB5B/Ba;AHy9FjB;;A8Bt8FE;ECvCA,W5BZa;EsBJb,yBtBkCe;E4BhBf,qB5BgBe;AHi+FjB;;A+B9+FE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;AL42FrC;;A+B9+FE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,gDAAiE;A/B4+FvE;;A+Bx+FE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;AL23FrC;;A+Bh/FE;;;EAgBM,gDAAiE;A/Bs+FzE;;A+Bj+FE;EAEE,W5B3DW;E4B4DX,yB5B9Ba;E4BiCb,qB5BjCa;AHkgGjB;;A8B7+FE;ECvCA,W5BFa;EsBdb,yBtBKgB;E4BahB,qB5BbgB;AHqiGlB;;A+BrhGE;EACE,W5BRW;EsBdb,yBpBwJmC;E0BhIjC,qB1BgIiC;ALw5FrC;;A+BrhGE;EAEE,W5BfW;EsBdb,yBpBwJmC;E0BzHjC,qB1ByHiC;E0BpH/B,kDAAiE;A/BmhGvE;;A+B/gGE;;;EAKE,W5B/BW;E4BgCX,yB1B0GiC;E0BvGjC,qB1BuGiC;ALu6FrC;;A+BvhGE;;;EAgBM,kDAAiE;A/B6gGzE;;A+BxgGE;EAEE,W5BjDW;E4BkDX,yB5B3Dc;E4B8Dd,qB5B9Dc;AHskGlB;;A8BphGE;ECvCA,W5BZa;EsBJb,yBtBagB;E4BKhB,qB5BLgB;AHokGlB;;A+B5jGE;EACE,W5BlBW;EsBJb,yBpB6JmC;E0BrIjC,qB1BqIiC;AL07FrC;;A+B5jGE;EAEE,W5BzBW;EsBJb,yBpB6JmC;E0B9HjC,qB1B8HiC;E0BzH/B,+CAAiE;A/B0jGvE;;A+BtjGE;;;EAKE,W5BzCW;E4B0CX,yB1B+GiC;E0B5GjC,qB1B4GiC;ALy8FrC;;A+B9jGE;;;EAgBM,+CAAiE;A/BojGzE;;A+B/iGE;EAEE,W5B3DW;E4B4DX,yB5BnDc;E4BsDd,qB5BtDc;AHqmGlB;;A8BrjGE;ECiBA,c5BhDe;E4BiDf,qB5BjDe;AHylGjB;;A+BtiGE;EACE,W5B9EW;E4B+EX,yB5BrDa;E4BsDb,qB5BtDa;AH+lGjB;;A+BtiGE;EAEE,iD5B3Da;AHmmGjB;;A+BriGE;;EAKE,W5B7FW;E4B8FX,yB5BpEa;E4BqEb,qB5BrEa;AH0mGjB;;A+B5iGE;;EAcM,iD5B5ES;AH+mGjB;;A+B9hGE;EAEE,c5BnFa;E4BoFb,6BAA6B;A/BgiGjC;;A8BrlGE;ECiBA,c5BpEgB;E4BqEhB,qB5BrEgB;AH6oGlB;;A+BtkGE;EACE,W5B9EW;E4B+EX,yB5BzEc;E4B0Ed,qB5B1Ec;AHmpGlB;;A+BtkGE;EAEE,kD5B/Ec;AHupGlB;;A+BrkGE;;EAKE,W5B7FW;E4B8FX,yB5BxFc;E4ByFd,qB5BzFc;AH8pGlB;;A+B5kGE;;EAcM,kD5BhGU;AHmqGlB;;A+B9jGE;EAEE,c5BvGc;E4BwGd,6BAA6B;A/BgkGjC;;A8BrnGE;ECiBA,c5BzCe;E4B0Cf,qB5B1Ce;AHkpGjB;;A+BtmGE;EACE,W5B9EW;E4B+EX,yB5B9Ca;E4B+Cb,qB5B/Ca;AHwpGjB;;A+BtmGE;EAEE,gD5BpDa;AH4pGjB;;A+BrmGE;;EAKE,W5B7FW;E4B8FX,yB5B7Da;E4B8Db,qB5B9Da;AHmqGjB;;A+B5mGE;;EAcM,gD5BrES;AHwqGjB;;A+B9lGE;EAEE,c5B5Ea;E4B6Eb,6BAA6B;A/BgmGjC;;A8BrpGE;ECiBA,c5BvCe;E4BwCf,qB5BxCe;AHgrGjB;;A+BtoGE;EACE,W5BpEW;E4BqEX,yB5B5Ca;E4B6Cb,qB5B7Ca;AHsrGjB;;A+BtoGE;EAEE,iD5BlDa;AH0rGjB;;A+BroGE;;EAKE,W5BnFW;E4BoFX,yB5B3Da;E4B4Db,qB5B5Da;AHisGjB;;A+B5oGE;;EAcM,iD5BnES;AHssGjB;;A+B9nGE;EAEE,c5B1Ea;E4B2Eb,6BAA6B;A/BgoGjC;;A8BrrGE;ECiBA,c5B1Ce;E4B2Cf,qB5B3Ce;AHmtGjB;;A+BtqGE;EACE,W5BpEW;E4BqEX,yB5B/Ca;E4BgDb,qB5BhDa;AHytGjB;;A+BtqGE;EAEE,gD5BrDa;AH6tGjB;;A+BrqGE;;EAKE,W5BnFW;E4BoFX,yB5B9Da;E4B+Db,qB5B/Da;AHouGjB;;A+B5qGE;;EAcM,gD5BtES;AHyuGjB;;A+B9pGE;EAEE,c5B7Ea;E4B8Eb,6BAA6B;A/BgqGjC;;A8BrtGE;ECiBA,c5B5Ce;E4B6Cf,qB5B7Ce;AHqvGjB;;A+BtsGE;EACE,W5B9EW;E4B+EX,yB5BjDa;E4BkDb,qB5BlDa;AH2vGjB;;A+BtsGE;EAEE,gD5BvDa;AH+vGjB;;A+BrsGE;;EAKE,W5B7FW;E4B8FX,yB5BhEa;E4BiEb,qB5BjEa;AHswGjB;;A+B5sGE;;EAcM,gD5BxES;AH2wGjB;;A+B9rGE;EAEE,c5B/Ea;E4BgFb,6BAA6B;A/BgsGjC;;A8BrvGE;ECiBA,c5BzEgB;E4B0EhB,qB5B1EgB;AHkzGlB;;A+BtuGE;EACE,W5BpEW;E4BqEX,yB5B9Ec;E4B+Ed,qB5B/Ec;AHwzGlB;;A+BtuGE;EAEE,kD5BpFc;AH4zGlB;;A+BruGE;;EAKE,W5BnFW;E4BoFX,yB5B7Fc;E4B8Fd,qB5B9Fc;AHm0GlB;;A+B5uGE;;EAcM,kD5BrGU;AHw0GlB;;A+B9tGE;EAEE,c5B5Gc;E4B6Gd,6BAA6B;A/BguGjC;;A8BrxGE;ECiBA,c5BjEgB;E4BkEhB,qB5BlEgB;AH00GlB;;A+BtwGE;EACE,W5B9EW;E4B+EX,yB5BtEc;E4BuEd,qB5BvEc;AHg1GlB;;A+BtwGE;EAEE,+C5B5Ec;AHo1GlB;;A+BrwGE;;EAKE,W5B7FW;E4B8FX,yB5BrFc;E4BsFd,qB5BtFc;AH21GlB;;A+B5wGE;;EAcM,+C5B7FU;AHg2GlB;;A+B9vGE;EAEE,c5BpGc;E4BqGd,6BAA6B;A/BgwGjC;;A8B1yGA;EACE,gB3B8U+B;E2B7U/B,c3B5Ce;E2B6Cf,0B3BqMiD;AHwmGnD;;A8BhzGA;EAMI,czB+EiC;AL+tGrC;;A8BpzGA;EAgBI,c3B9Ec;AHs3GlB;;A8B7xGA;ECqBE,oB5B8bgC;EC9T5B,kBAvE+B;EElKjC,qBH6U+B;AH0iGnC;;A8B/xGA;ECiBE,uB5B0biC;EC1T7B,mBAvE+B;EElKjC,qBH4U+B;AHijGnC;;A8B5xGA;EACE,cAAc;EACd,WAAW;A9B+xGb;;A8BjyGA;EAMI,kB3Bse+B;AHyzFnC;;AgCx5GA;EXgBM,gClBwW2C;AHoiGjD;;AqBx4GM;EWpBN;IXqBQ,gBAAgB;ErB44GtB;AACF;;AgCl6GA;EAII,UAAU;AhCk6Gd;;AgC95GA;EAEI,aAAa;AhCg6GjB;;AgC55GA;EACE,SAAS;EACT,gBAAgB;EXAZ,6BlByWwC;AHujG9C;;AqB55GM;EWNN;IXOQ,gBAAgB;ErBg6GtB;AACF;;AiCr7GA;;;;EAIE,kBAAkB;AjCw7GpB;;A4B1zGuB;EK1HrB,mBAAmB;AjCw7GrB;;AkCp6GI;EACE,qBAAqB;EACrB,oB/BsV0C;E+BrV1C,uB/BoV0C;E+BnV1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;AlCw8G7C;;AkCn5GI;EACE,cAAc;AlCs5GpB;;A4B70G6C;EKlH3C,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,a9B80BsC;E8B70BtC,aAAa;EACb,gB9B25BuC;E8B15BvC,iB9B25BmC;E8B15BnC,oBAA4B;E7BmOxB,eAvE+B;E6B1JnC,c9BVgB;E8BWhB,gBAAgB;EAChB,gBAAgB;EAChB,sB9BtBa;E8BuBb,4BAA4B;EAC5B,qC9Bda;EGCX,sBH2UgC;AHsoGpC;;AiC17GI;EACE,WAAW;EACX,OAAO;AjC67Gb;;AiC17GI;EACE,QAAQ;EACR,UAAU;AjC67GhB;;Aa96GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjCw8GX;EiCr8GE;IACE,QAAQ;IACR,UAAU;EjCu8Gd;AACF;;Aaz7GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjCm9GX;EiCh9GE;IACE,QAAQ;IACR,UAAU;EjCk9Gd;AACF;;Aap8GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjC89GX;EiC39GE;IACE,QAAQ;IACR,UAAU;EjC69Gd;AACF;;Aa/8GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjCy+GX;EiCt+GE;IACE,QAAQ;IACR,UAAU;EjCw+Gd;AACF;;Aa19GI;EoBtBA;IACE,WAAW;IACX,OAAO;EjCo/GX;EiCj/GE;IACE,QAAQ;IACR,UAAU;EjCm/Gd;AACF;;AiC5+GA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uB9Bu3BuC;AHunF3C;;AkC9gHI;EACE,qBAAqB;EACrB,oB/BsV0C;E+BrV1C,uB/BoV0C;E+BnV1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;AlC2iH7C;;AkC7/GI;EACE,cAAc;AlCggHpB;;AiCr/GA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qB9By2BuC;AH8oF3C;;AkCriHI;EACE,qBAAqB;EACrB,oB/BsV0C;E+BrV1C,uB/BoV0C;E+BnV1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;AlC2jHjC;;AkCphHI;EACE,cAAc;AlCuhHpB;;AkCpjHI;EDoDE,iBAAiB;AjCogHvB;;AiC//GA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sB9Bw1BuC;AHyqF3C;;AkChkHI;EACE,qBAAqB;EACrB,oB/BsV0C;E+BrV1C,uB/BoV0C;E+BnV1C,WAAW;AlCmkHjB;;AkCvkHI;EAgBI,aAAa;AlC2jHrB;;AkCxjHM;EACE,qBAAqB;EACrB,qB/BmUwC;E+BlUxC,uB/BiUwC;E+BhUxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;AlC0lH/C;;AkCzjHI;EACE,cAAc;AlC4jHpB;;AkCtkHM;EDkDA,iBAAiB;AjCwhHvB;;AiCjhHA;EAKI,WAAW;EACX,YAAY;AjCghHhB;;AiC3gHA;EACE,SAAS;EACT,gBAAoC;EACpC,gBAAgB;EAChB,yC9BvGa;AHqnHf;;AiCxgHA;EACE,cAAc;EACd,WAAW;EACX,qB9B6GW;E8B5GX,WAAW;EACX,gB9BuR+B;E8BtR/B,c9BpHgB;E8BqHhB,mBAAmB;EACnB,qBAAwD;EACxD,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;AjC2gHX;;AiCthHA;EA2BI,c5BOiC;EoB7JnC,yBtBKgB;AHipHlB;;AiC3hHA;EAkCI,W9BzJW;E8B0JX,qBAAqB;ER9JvB,yBtB8Be;AH8nHjB;;AiCjiHA;EAyCI,c9B1Jc;E8B2Jd,oBAAoB;EACpB,6BAA6B;AjC4/GjC;;AiCt/GA;EACE,cAAc;AjCy/GhB;;AiCr/GA;EACE,cAAc;EACd,oB9BwDW;E8BvDX,gBAAgB;E7BoEZ,mBAvE+B;E6BKnC,c9B5KgB;E8B6KhB,mBAAmB;AjCw/GrB;;AiCp/GA;EACE,cAAc;EACd,qB9B8CW;E8B7CX,c9BjLgB;AHwqHlB;;AiCn/GA;EACE,c9B5LgB;E8B6LhB,yB9BxLgB;E8ByLhB,iC9BvLa;AH6qHf;;AiCz/GA;EAOI,c9BlMc;AHwrHlB;;AiC7/GA;EAWM,W9BzMS;EsBJb,2CtBIa;AHgsHf;;AiClgHA;EAiBM,W9B/MS;EsBJb,yBtB8Be;AH2qHjB;;AiCvgHA;EAuBM,c9BhNY;AHosHlB;;AiC3gHA;EA4BI,iC9BhNW;AHmsHf;;AiC/gHA;EAgCI,c9B3Nc;AH8sHlB;;AiCnhHA;EAoCI,c9B7Nc;AHgtHlB;;AmCztHA;;EAEE,kBAAkB;EAClB,oBAAoB;EACpB,sBAAsB;AnC4tHxB;;AmChuHA;;EAOI,kBAAkB;EAClB,cAAc;AnC8tHlB;;AmCtuHA;;;;;;;;;;;;EAmBI,UAAU;AnCkuHd;;AmC7tHA;EACE,aAAa;EACb,eAAe;EACf,2BAA2B;AnCguH7B;;AmCnuHA;EAMI,WAAW;AnCiuHf;;AmC7tHA;;EAII,iBhCiT6B;AH66GjC;;AmCluHA;;E7BHI,0B6Ba8B;E7BZ9B,6B6BY8B;AnC8tHlC;;AmCxuHA;;;E7BWI,yB6BS6B;E7BR7B,4B6BQ6B;AnC2tHjC;;AmC3sHA;EACE,wBAAmC;EACnC,uBAAkC;AnC8sHpC;;AmChtHA;;;EAOI,cAAc;AnC+sHlB;;AmC5sHE;EACE,eAAe;AnC+sHnB;;AmC3sHA;EACE,uBAAsC;EACtC,sBAAqC;AnC8sHvC;;AmC3sHA;EACE,sBAAsC;EACtC,qBAAqC;AnC8sHvC;;AmC1rHA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;AnC6rHzB;;AmChsHA;;EAOI,WAAW;AnC8rHf;;AmCrsHA;;EAYI,gBhC2N6B;AHm+GjC;;AmC1sHA;;E7B1EI,6B6B4F+B;E7B3F/B,4B6B2F+B;AnC8rHnC;;AmChtHA;;E7BxFI,yB6B+G4B;E7B9G5B,0B6B8G4B;AnC+rHhC;;AoCp0HA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;ApCu0HlB;;AoCp0HA;EACE,cAAc;EACd,oBjCg2BsC;EiC51BtC,qBAAwD;EfHpD,uGlBo2BsH;AHo+F5H;;AqBp0HM;EePN;IfQQ,gBAAgB;ErBw0HtB;AACF;;AoCj1HA;EAiBI,cjCjBc;EiCkBd,oBAAoB;EACpB,eAAe;ApCo0HnB;;AoC5zHA;EACE,gCjC/BgB;AH81HlB;;AoCh0HA;EAII,mBjC8S6B;EiC7S7B,6BAAgD;E9BlBhD,+BHkUgC;EGjUhC,gCHiUgC;AHkhHpC;;AoCv0HA;EAUM,qCjCxCY;AHy2HlB;;AoC30HA;EAcM,cjCzCY;EiC0CZ,6BAA6B;EAC7B,yBAAyB;ApCi0H/B;;AoCj1HA;;EAsBI,cjChDc;EiCiDd,sBjCxDW;EiCyDX,kCjCzDW;AHy3Hf;;AoCx1HA;EA6BI,gBjCqR6B;EG/T7B,yB8B4C4B;E9B3C5B,0B8B2C4B;ApC+zHhC;;AoCtzHA;E9B9DI,sBH2UgC;AH6iHpC;;AoC1zHA;;EAOI,WjChFW;EsBJb,yBtB8Be;AH+2HjB;;AoC/yHA;;EAGI,cAAc;EACd,kBAAkB;ApCizHtB;;AoC7yHA;;EAGI,aAAa;EACb,YAAY;EACZ,kBAAkB;ApC+yHtB;;AoCtyHA;EAEI,aAAa;ApCwyHjB;;AoC1yHA;EAKI,cAAc;ApCyyHlB;;AqCr5HA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,mBlCg3B6C;EkC92B7C,sBlC82B6C;AHyiG/C;;AqC/5HA;;EAgBI,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,8BAA8B;ArCo5HlC;;AqCh4HA;EACE,sBlCu1B+E;EkCt1B/E,yBlCs1B+E;EkCr1B/E,kBlCs1BsC;ECrpBlC,kBAvE+B;EiCxHnC,qBAAwD;EACxD,mBAAmB;ArCm4HrB;;AqCt3HA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;ArCy3HlB;;AqC93HA;EAQI,gBAAgB;EAChB,eAAe;ArC03HnB;;AqCn4HA;EAaI,gBAAgB;ArC03HpB;;AqCj3HA;EACE,mBlC6wBuC;EkC5wBvC,sBlC4wBuC;AHwmGzC;;AqCx2HA;EAGE,mBAAmB;EACnB,WAAW;ArCy2Hb;;AqCr2HA;EACE,wBlC4xBwC;ECxpBpC,kBAvE+B;EiC3DnC,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;E/BzGrC,sBH2UgC;EkB7U9B,wClBu4ByD;AH8kG/D;;AqBj9HM;EgBkGN;IhBjGQ,gBAAgB;ErBq9HtB;AACF;;AqCr3HA;EAUI,qBAAqB;ArC+2HzB;;AqCz3HA;EAcI,qBAAqB;EACrB,UAAU;EACV,yBlCyakC;AHs8GtC;;AqCz2HA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;ArC42HvB;;Aah8HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErCo2HjC;EqCv2HG;IAMK,mBAAmB;ErCo2H3B;EqC12HG;IASO,kBAAkB;ErCo2H5B;EqC72HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EHsoGvC;EqCj3HG;IAmBK,wBAAwB;ErCi2HhC;EqCp3HG;IAuBK,aAAa;ErCg2HrB;AACF;;Aav9HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErC23HjC;EqC93HG;IAMK,mBAAmB;ErC23H3B;EqCj4HG;IASO,kBAAkB;ErC23H5B;EqCp4HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EH6pGvC;EqCx4HG;IAmBK,wBAAwB;ErCw3HhC;EqC34HG;IAuBK,aAAa;ErCu3HrB;AACF;;Aa9+HI;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErCk5HjC;EqCr5HG;IAMK,mBAAmB;ErCk5H3B;EqCx5HG;IASO,kBAAkB;ErCk5H5B;EqC35HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EHorGvC;EqC/5HG;IAmBK,wBAAwB;ErC+4HhC;EqCl6HG;IAuBK,aAAa;ErC84HrB;AACF;;AargII;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErCy6HjC;EqC56HG;IAMK,mBAAmB;ErCy6H3B;EqC/6HG;IASO,kBAAkB;ErCy6H5B;EqCl7HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EH2sGvC;EqCt7HG;IAmBK,wBAAwB;ErCs6HhC;EqCz7HG;IAuBK,aAAa;ErCq6HrB;AACF;;Aa5hII;EwB+FA;IAEI,iBAAiB;IACjB,2BAA2B;ErCg8HjC;EqCn8HG;IAMK,mBAAmB;ErCg8H3B;EqCt8HG;IASO,kBAAkB;ErCg8H5B;EqCz8HG;IAaO,qBlC8tB6B;IkC7tB7B,oBlC6tB6B;EHkuGvC;EqC78HG;IAmBK,wBAAwB;ErC67HhC;EqCh9HG;IAuBK,aAAa;ErC47HrB;AACF;;AqC19HA;EAQQ,iBAAiB;EACjB,2BAA2B;ArCs9HnC;;AqC/9HA;EAYU,mBAAmB;ArCu9H7B;;AqCn+HA;EAeY,kBAAkB;ArCw9H9B;;AqCv+HA;EAmBY,qBlC8tB6B;EkC7tB7B,oBlC6tB6B;AH2vGzC;;AqC5+HA;EAyBU,wBAAwB;ArCu9HlC;;AqCh/HA;EA6BU,aAAa;ArCu9HvB;;AqC18HA;EAEI,yBlCnLW;AH+nIf;;AqC98HA;EAMM,yBlCvLS;AHmoIf;;AqCl9HA;EAYM,0BlC7LS;AHuoIf;;AqCt9HA;EAgBQ,yBlCjMO;AH2oIf;;AqC19HA;EAoBQ,yBlCrMO;AH+oIf;;AqC99HA;;EA0BM,yBlC3MS;AHopIf;;AqCn+HA;EA+BI,0BlChNW;EkCiNX,gClCjNW;AHypIf;;AqCx+HA;EAoCI,6PhClJ8E;AL0lIlF;;AqC5+HA;EAwCI,0BlCzNW;AHiqIf;;AqCh/HA;;;EA6CM,yBlC9NS;AHuqIf;;AqCn8HA;EAEI,WlChPW;AHqrIf;;AqCv8HA;EAMM,WlCpPS;AHyrIf;;AqC38HA;EAYM,gClC1PS;AH6rIf;;AqC/8HA;EAgBQ,gClC9PO;AHisIf;;AqCn9HA;EAoBQ,gClClQO;AHqsIf;;AqCv9HA;;EA0BM,WlCxQS;AH0sIf;;AqC59HA;EA+BI,gClC7QW;EkC8QX,sClC9QW;AH+sIf;;AqCj+HA;EAoCI,mQhCrM8E;ALsoIlF;;AqCr+HA;EAwCI,gClCtRW;AHutIf;;AqCz+HA;;;EA4CM,WlC1RS;AH6tIf;;AsChuIA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sBnCJa;EmCKb,2BAA2B;EAC3B,sCnCIa;EGCX,sBH2UgC;AHm5HpC;;AsC5uIA;EAaI,eAAe;EACf,cAAc;AtCmuIlB;;AsCjvIA;EAkBI,mBAAmB;EACnB,sBAAsB;AtCmuI1B;;AsCtvIA;EAsBM,mBAAmB;EhCCrB,2CDiL4D;EChL5D,4CDgL4D;ALojIhE;;AsC5vIA;EA2BM,sBAAsB;EhCUxB,+CDmK4D;EClK5D,8CDkK4D;AL0jIhE;;AsClwIA;;EAoCI,aAAa;AtCmuIjB;;AsC/tIA;EAGE,cAAc;EACd,kBnC8LW;AHkiIb;;AsC5tIA;EACE,qBnC+8B6C;AHgxG/C;;AsC5tIA;EACE,oBAAqC;EACrC,gBAAgB;AtC+tIlB;;AsC5tIA;EACE,gBAAgB;AtC+tIlB;;AsC5tIA;EAEI,qBAAqB;AtC8tIzB;;AsChuIA;EAMI,iBnCuKS;AHujIb;;AsCttIA;EACE,oBnC8JW;EmC7JX,gBAAgB;EAEhB,qCnClEa;EmCmEb,6CnCnEa;AH2xIf;;AsC7tIA;EhC7DI,0DgCqE8E;AtCytIlF;;AsCrtIA;EACE,oBnCkJW;EmChJX,qCnC7Ea;EmC8Eb,0CnC9Ea;AHqyIf;;AsC3tIA;EhCzEI,0DD0L4D;AL8mIhE;;AsC/sIA;EACE,qBAAsC;EACtC,sBnC45BoD;EmC35BpD,oBAAqC;EACrC,gBAAgB;AtCktIlB;;AsCxsIA;EACE,qBAAsC;EACtC,oBAAqC;AtC2sIvC;;AsCvsIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,anCyGW;EG5NT,kCD0L4D;ALooIhE;;AsCvsIA;;;EAGE,WAAW;AtC0sIb;;AsCvsIA;;EhCpHI,2CDiL4D;EChL5D,4CDgL4D;ALgpIhE;;AsCxsIA;;EhC3GI,+CDmK4D;EClK5D,8CDkK4D;ALspIhE;;AsCpsIA;EAII,sBnCi3BsD;AHm1G1D;;AavyII;EyB+FJ;IAQI,aAAa;IACb,mBAAmB;EtCqsIrB;EsC9sIF;IAcM,YAAY;IACZ,gBAAgB;EtCmsIpB;EsCltIF;IAkBQ,cAAc;IACd,cAAc;EtCmsIpB;EsCttIF;IhC5HI,0BgCqJoC;IhCpJpC,6BgCoJoC;EtCisItC;EsC1tIF;;IA8BY,0BAA0B;EtCgsIpC;EsC9tIF;;IAmCY,6BAA6B;EtC+rIvC;EsCluIF;IhC9GI,yBgCsJmC;IhCrJnC,4BgCqJmC;EtC8rIrC;EsCtuIF;;IA6CY,yBAAyB;EtC6rInC;EsC1uIF;;IAkDY,4BAA4B;EtC4rItC;AACF;;AsChrIA;EACE,qBAAqB;AtCmrIvB;;AsCprIA;EAII,gBAAgB;AtCorIpB;;AsCxrIA;EAOM,gBAAgB;EhC3LlB,6BgC4LiC;EhC3LjC,4BgC2LiC;AtCsrIrC;;AsC9rIA;EhClMI,yBgC8M8B;EhC7M9B,0BgC6M8B;AtCurIlC;;AsCnsIA;EhC3MI,gBgC2N0B;EACxB,mBnC4G2B;AH2kIjC;;AuCr6IA;EACE,aAAa;EACb,eAAe;EACf,oBpC2OW;EoC1OX,mBpC8tCsC;EoC5tCtC,gBAAgB;EAChB,yBpCEgB;EGSd,sBH2UgC;AHklIpC;;AuCp6IA;EAGI,oBpCmtCqC;AHktGzC;;AuCx6IA;EAMM,WAAW;EACX,qBpC+sCmC;EoC9sCnC,cpCNY;EoCOZ,YpCktCuC;AHotG7C;;AuC/6IA;EAcI,cpCZc;AHi7IlB;;AwC97IA;EACE,aAAa;EhCGb,eAAe;EACf,gBAAgB;AR+7IlB;;AwC/7IA;EACE,kBAAkB;EAClB,cAAc;EACd,crCyBe;EqCxBf,qBAAwD;EACxD,sBrCHa;EqCIb,yBrCDgB;EkBMZ,qIlB8+BoJ;AHg9G1J;;AqB17IM;EmBfN;InBgBQ,gBAAgB;ErB87ItB;AACF;;AwC/8IA;EAUI,UAAU;EACV,cnCgJiC;EmC9IjC,yBrCTc;EqCUd,qBrCTc;AHi9IlB;;AwCt9IA;EAkBI,UAAU;EACV,cnCwIiC;EmCvIjC,yBrChBc;EqCiBd,UrCs9BiC;EqCr9BjC,kDrCMa;AHk8IjB;;AwCp8IA;EAEI,iBrCyT6B;AH6oIjC;;AwCx8IA;EAMI,UAAU;EACV,WrC/BW;EsBJb,yBtB8Be;EqCOb,qBrCPa;AH68IjB;;AwC/8IA;EAaI,crC/Bc;EqCgCd,oBAAoB;EACpB,sBrCvCW;EqCwCX,qBrCrCc;AH2+IlB;;AwCh/IA;ECDI,yBtC49BsC;AHyhH1C;;AyCj/IE;EnCwCE,+BH6SgC;EG5ShC,kCH4SgC;AHiqIpC;;AyCt/IE;EnC0BE,gCH2TgC;EG1ThC,mCH0TgC;AHsqIpC;;AyChgJE;EACE,uBtCg+BsC;ECzuBpC,kBAvE+B;AJo1IrC;;AyC7/IQ;EnCqCJ,8BH+S+B;EG9S/B,iCH8S+B;AH8qInC;;AyC5/IQ;EnCiBJ,+BH6T+B;EG5T/B,kCH4T+B;AHmrInC;;AyC/gJE;EACE,uBtC89BqC;ECvuBnC,mBAvE+B;AJm2IrC;;AyC5gJQ;EnCqCJ,8BH8S+B;EG7S/B,iCH6S+B;AH8rInC;;AyC3gJQ;EnCiBJ,+BH4T+B;EG3T/B,kCH2T+B;AHmsInC;;A0C5hJA;EACE,qBAAqB;EACrB,sBvC2lCuC;ECv2BnC,iBAvE+B;EsC3KnC,gBvCkZ+B;EuCjZ/B,cAAc;EACd,WvCJa;EuCKb,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EpCItB,sBH2UgC;AHitIpC;;A0CziJA;EAeI,aAAa;A1C8hJjB;;A0CzhJA;EACE,kBAAkB;EAClB,SAAS;A1C4hJX;;A2CnjJA;EACE,kBAAkB;EAClB,kBxCwOW;EwCvOX,mBxCgpCsC;EwC/oCtC,6BAA6C;ErCU3C,sBH2UgC;AHkuIpC;;A2CljJA;EAEE,cAAc;A3CojJhB;;A2ChjJA;EACE,gBxCuY+B;AH4qIjC;;A2C3iJA;EACE,mBxCmoCsD;AH26GxD;;A2C/iJA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,UxCqPuC;EwCpPvC,qBxCyMS;AHq2Ib;;A2CriJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;AL87IrC;;A4CplJE;EACE,cvC0JiC;AL67IrC;;A2C/iJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALw8IrC;;A4C9lJE;EACE,cvC0JiC;ALu8IrC;;A2CzjJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALk9IrC;;A4CxmJE;EACE,cvC0JiC;ALi9IrC;;A2CnkJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;AL49IrC;;A4ClnJE;EACE,cvC0JiC;AL29IrC;;A2C7kJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALs+IrC;;A4C5nJE;EACE,cvC0JiC;ALq+IrC;;A2CvlJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALg/IrC;;A4CtoJE;EACE,cvC0JiC;AL++IrC;;A2CjmJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;AL0/IrC;;A4ChpJE;EACE,cvC0JiC;ALy/IrC;;A2C3mJE;EC7CA,cvC+JmC;EoB7JnC,yBpBwJmC;EuCxJnC,qBvCwJmC;ALogJrC;;A4C1pJE;EACE,cvC0JiC;ALmgJrC;;A6CjqJE;EACE;IAAK,2B1CkqC+B;EHmgHtC;AACF;;A6CvqJE;EACE;IAAK,2B1CkqC+B;EHmgHtC;AACF;;A6ClqJA;EACE,aAAa;EACb,Y1C4pCsC;E0C3pCtC,gBAAgB;EzCiPZ,kBAvE+B;EyCxKnC,yB1CHgB;EGSd,sBH2UgC;AHq1IpC;;A6CjqJA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,W1Cfa;E0CgBb,kBAAkB;EAClB,mBAAmB;EACnB,yB1CQe;EkBjBX,2BlB6pC4C;AHihHlD;;AqB1qJM;EwBHN;IxBIQ,gBAAgB;ErB8qJtB;AACF;;A6CvqJA;EpBYE,qMAA6I;EoBV7I,0B1CsoCsC;AHoiHxC;;A6CtqJE;EACE,0D1CwoCkD;E0CxoClD,kD1CwoCkD;AHiiHtD;;A6CtqJM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E7C0qJrB;AACF;;A8C/sJA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;ExCQd,sBH2UgC;AH83IpC;;A8CvsJA;EACE,WAAW;EACX,c3CRgB;E2CShB,mBAAmB;A9C0sJrB;;A8C7sJA;EAQI,UAAU;EACV,c3Cfc;E2CgBd,qBAAqB;EACrB,yB3CvBc;AHguJlB;;A8CptJA;EAeI,c3CnBc;E2CoBd,yB3C3Bc;AHouJlB;;A8ChsJA;EACE,kBAAkB;EAClB,cAAc;EACd,oB3C8LW;E2C5LX,qBAAwD;EACxD,sB3C5Ca;E2C6Cb,sC3CnCa;AHquJf;;A8CzsJA;ExClBI,+BwC4BkC;ExC3BlC,gCwC2BkC;A9CosJtC;;A8C9sJA;ExCJI,mCwCkBqC;ExCjBrC,kCwCiBqC;A9CqsJzC;;A8CntJA;EAmBI,c3CnDc;E2CoDd,oBAAoB;EACpB,sB3C3DW;AH+vJf;;A8CztJA;EA0BI,UAAU;EACV,W3CjEW;E2CkEX,yB3CxCa;E2CyCb,qB3CzCa;AH4uJjB;;A8ChuJA;EAiCI,mBAAmB;A9CmsJvB;;A8CpuJA;EAoCM,gB3CyQ2B;E2CxQ3B,qB3CwQ2B;AH47IjC;;A8CtrJI;EACE,mBAAmB;A9CyrJzB;;A8C1rJI;ExCvBA,kCHoRgC;EGhShC,0BwCyCwC;A9CyrJ5C;;A8C/rJI;ExCnCA,gCHgSgC;EGpRhC,4BwCkC0C;A9CyrJ9C;;A8CpsJI;EAeM,aAAa;A9CyrJvB;;A8CxsJI;EAmBM,qB3CuOuB;E2CtOvB,oBAAoB;A9CyrJ9B;;A8C7sJI;EAuBQ,iB3CmOqB;E2ClOrB,sB3CkOqB;AHw9IjC;;AanvJI;EiCiCA;IACE,mBAAmB;E9CstJvB;E8CvtJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9CqtJ1C;E8C3tJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9CotJ5C;E8C/tJE;IAeM,aAAa;E9CmtJrB;E8CluJE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9CktJ5B;E8CtuJE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EHg/I/B;AACF;;Aa5wJI;EiCiCA;IACE,mBAAmB;E9C+uJvB;E8ChvJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9C8uJ1C;E8CpvJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9C6uJ5C;E8CxvJE;IAeM,aAAa;E9C4uJrB;E8C3vJE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9C2uJ5B;E8C/vJE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EHygJ/B;AACF;;AaryJI;EiCiCA;IACE,mBAAmB;E9CwwJvB;E8CzwJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9CuwJ1C;E8C7wJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9CswJ5C;E8CjxJE;IAeM,aAAa;E9CqwJrB;E8CpxJE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9CowJ5B;E8CxxJE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EHkiJ/B;AACF;;Aa9zJI;EiCiCA;IACE,mBAAmB;E9CiyJvB;E8ClyJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9CgyJ1C;E8CtyJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9C+xJ5C;E8C1yJE;IAeM,aAAa;E9C8xJrB;E8C7yJE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9C6xJ5B;E8CjzJE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EH2jJ/B;AACF;;Aav1JI;EiCiCA;IACE,mBAAmB;E9C0zJvB;E8C3zJE;IxCvBA,kCHoRgC;IGhShC,0BwCyCwC;E9CyzJ1C;E8C/zJE;IxCnCA,gCHgSgC;IGpRhC,4BwCkC0C;E9CwzJ5C;E8Cn0JE;IAeM,aAAa;E9CuzJrB;E8Ct0JE;IAmBM,qB3CuOuB;I2CtOvB,oBAAoB;E9CszJ5B;E8C10JE;IAuBQ,iB3CmOqB;I2ClOrB,sB3CkOqB;EHolJ/B;AACF;;A8CzyJA;ExCpHI,gBwCqHsB;A9C4yJ1B;;A8C7yJA;EAII,qB3CgN6B;AH6lJjC;;A8CjzJA;EAOM,sBAAsB;A9C8yJ5B;;A+Cx7JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALqyJrC;;A+C77JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALqyJrC;;A+Cl8JE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL2yJrC;;A+Cx8JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALqzJrC;;A+C78JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALqzJrC;;A+Cl9JE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL2zJrC;;A+Cx9JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq0JrC;;A+C79JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq0JrC;;A+Cl+JE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL20JrC;;A+Cx+JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq1JrC;;A+C7+JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq1JrC;;A+Cl/JE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL21JrC;;A+Cx/JE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq2JrC;;A+C7/JE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq2JrC;;A+ClgKE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL22JrC;;A+CxgKE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq3JrC;;A+C7gKE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq3JrC;;A+ClhKE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL23JrC;;A+CxhKE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq4JrC;;A+C7hKE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq4JrC;;A+CliKE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL24JrC;;A+CxiKE;EACE,c1C4JiC;E0C3JjC,yB1CsJiC;ALq5JrC;;A+C7iKE;EAOM,c1CsJ6B;E0CrJ7B,yB1CqJ6B;ALq5JrC;;A+CljKE;EAYM,W5CRO;E4CSP,yB1CgJ6B;E0C/I7B,qB1C+I6B;AL25JrC;;AgDtjKA;EACE,uBAAuB;EACvB,U7CmxC8B;E6ClxC9B,W7CkxC8B;E6CjxC9B,sB7CmxCgC;E6ClxChC,W7COa;E6CNb,kXAAiG;EACjG,SAAS;E1CMP,sBH2UgC;E6C/UlC,Y7CmxC6B;AHsyH/B;;AgDlkKA;EAaI,W7CDW;E6CEX,qBAAqB;EACrB,a7C8wC4B;AH2yHhC;;AgDxkKA;EAmBI,aAAa;EACb,kD7CQa;E6CPb,U7CywC0B;AHgzH9B;;AgD9kKA;EA0BI,oBAAoB;EACpB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,a7CmwC4B;AHqzHhC;;AgDpjKA;EACE,kD7C+vCqE;AHwzHvE;;AiD7lKA;EACE,gB9C2kCuC;ECj1BnC,mBAvE+B;E6ChLnC,2C9CGa;E8CFb,4BAA4B;EAC5B,oC9C6kCmD;E8C5kCnD,6C9CUa;E8CTb,UAAU;E3CUR,sBH2UgC;AH2wJpC;;AiDxmKA;EAYI,sB9CikCsC;AH+hI1C;;AiD5mKA;EAgBI,UAAU;AjDgmKd;;AiDhnKA;EAoBI,cAAc;EACd,UAAU;AjDgmKd;;AiDrnKA;EAyBI,aAAa;AjDgmKjB;;AiD5lKA;EACE,aAAa;EACb,mBAAmB;EA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m6KhE;;AqD1kLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qClDyhCiE;AH8iJvE;;AqDhlLA;EAaM,WlDwS2B;EkDvS3B,6BAAgE;EAChE,sBlD7CS;AHonLf;;AqDlkLA;EACE,mBlD0gCuC;AH2jJzC;;AqDtkLA;EAII,yBhD+I4D;EgD9I5D,alDsgCqC;EkDrgCrC,YlDogCoC;EkDngCpC,gBAAgC;ArDskLpC;;AqD7kLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uClDkgCiE;AHqkJvE;;AqDnlLA;EAgBM,SlDiR2B;EkDhR3B,oCAA2F;EAC3F,wBlDpES;AH2oLf;;AqDlkLA;EACE,kBlDm/BuC;AHklJzC;;AqDtkLA;EAII,wBhDwH4D;AL88KhE;;AqD1kLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wClD8+BiE;AHylJvE;;AqDhlLA;EAaM,QlD6P2B;EkD5P3B,oCAA2F;EAC3F,yBlDxFS;AH+pLf;;AqDtlLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WlD09BoC;EkDz9BpC,oBAAsC;EACtC,WAAW;EACX,gChDoDiC;ALihLrC;;AqDjkLA;EACE,oBlDm9BuC;AHinJzC;;AqDrkLA;EAII,0BhDwF4D;EgDvF5D,alD+8BqC;EkD98BrC,YlD68BoC;EkD58BpC,gBAAgC;ArDqkLpC;;AqD5kLA;EAUM,QAAQ;EACR,oClDy8BmC;EkDx8BnC,sClD28BiE;AH2nJvE;;AqDllLA;EAgBM,UlD0N2B;EkDzN3B,oClDm8BmC;EkDl8BnC,uBlD3HS;AHisLf;;AqDhjLA;EACE,oBlDqFW;EkDpFX,gBAAgB;EjDiGZ,eAvE+B;EiDvBnC,yBhDGmC;EgDFnC,gChDEmC;ECrIjC,0CDiL4D;EChL5D,2CDgL4D;ALsgLhE;;AqD1jLA;EAUI,aAAa;ArDojLjB;;AqDhjLA;EACE,kBlDuEW;EkDtEX,clDxJgB;AH2sLlB;;AsD9sLA;EACE,kBAAkB;AtDitLpB;;AsD9sLA;EACE,mBAAmB;AtDitLrB;;AsD9sLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;AtDitLlB;;AuDvuLE;EACE,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;AiE53MM;EAEI,4BAA+D;AjE83MzE;;AiEh4MM;EAEI,4BAA+D;AjEk4MzE;;AiEp4MM;EAEI,4BAA+D;AjEs4MzE;;AiEx4MM;EAEI,4BAA+D;AjE04MzE;;AiE54MM;EAEI,qBAA+D;AjE84MzE;;AiEh5MM;EAEI,qBAA+D;AjEk5MzE;;AiEp5MM;EAEI,qBAA+D;AjEs5MzE;;AiEx5MM;EAEI,sBAA+D;AjE05MzE;;AiE55MM;EAEI,sBAA+D;AjE85MzE;;AiEh6MM;EAEI,0BAA+D;AjEk6MzE;;AiEp6MM;EAEI,uBAA+D;AjEs6MzE;;AiEx6MM;EAEI,2BAA+D;AjE06MzE;;AiE56MM;EAEI,sBAA+D;AjE86MzE;;AiEh7MM;EAEI,sBAA+D;AjEk7MzE;;AiEp7MM;EAEI,sBAA+D;AjEs7MzE;;AiEx7MM;EAEI,uBAA+D;AjE07MzE;;AiE57MM;EAEI,uBAA+D;AjE87MzE;;AiEh8MM;EAEI,2BAA+D;AjEk8MzE;;AiEp8MM;EAEI,wBAA+D;AjEs8MzE;;AiEx8MM;EAEI,4BAA+D;AjE08MzE;;AiE58MM;EAEI,yBAA+D;AjE88MzE;;AiEh9MM;EAEI,8BAA+D;AjEk9MzE;;AiEp9MM;EAEI,iCAA+D;AjEs9MzE;;AiEx9MM;EAEI,sCAA+D;AjE09MzE;;AiE59MM;EAEI,yCAA+D;AjE89MzE;;AiEh+MM;EAEI,uBAA+D;AjEk+MzE;;AiEp+MM;EAEI,uBAA+D;AjEs+MzE;;AiEx+MM;EAEI,yBAA+D;AjE0+MzE;;AiE5+MM;EAEI,yBAA+D;AjE8+MzE;;AiEh/MM;EAEI,0BAA+D;AjEk/MzE;;AiEp/MM;EAEI,4BAA+D;AjEs/MzE;;AiEx/MM;EAEI,kCAA+D;AjE0/MzE;;AiE5/MM;EAEI,sCAA+D;AjE8/MzE;;AiEhgNM;EAEI,oCAA+D;AjEkgNzE;;AiEpgNM;EAEI,kCAA+D;AjEsgNzE;;AiExgNM;EAEI,yCAA+D;AjE0gNzE;;AiE5gNM;EAEI,wCAA+D;AjE8gNzE;;AiEhhNM;EAEI,wCAA+D;AjEkhNzE;;AiEphNM;EAEI,kCAA+D;AjEshNzE;;AiExhNM;EAEI,gCAA+D;AjE0hNzE;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jEw+NzE;;AiE1+NM;EAEI,gCAA+D;AjE4+NzE;;AiE9+NM;EAEI,+BAA+D;AjEg/NzE;;AiEl/NM;EAEI,6BAA+D;AjEo/NzE;;AiEt/NM;EAEI,+BAA+D;AjEw/NzE;;AiE1/NM;EAEI,6BAA+D;AjE4/NzE;;AiE9/NM;EAEI,4CAA+D;AjEggOzE;;AiElgOM;EAEI,4CAA+D;AjEogOzE;;AiEtgOM;EAEI,0CAA+D;AjEwgOzE;;AiE1gOM;EAEI,4CAA+D;AjE4gOzE;;AiE9gOM;EAEI,6BAA+D;AjEghOzE;;AiElhOM;EAEI,0BAA+D;AjEohOzE;;AiEthOM;EAEI,6BAA+D;AjEwhOzE;;AiE1hOM;EAEI,6BAA+D;AjE4hOzE;;AiE9hOM;EAEI,2BAA+D;AjEgiOzE;;AiEliOM;EAEI,+BAA+D;AjEoiOzE;;AiEtiOM;EAEI,2BAA+D;AjEwiOzE;;AiE1iOM;EAEI,2BAA+D;AjE4iOzE;;AiE9iOM;EAEI,8BAA+D;AjEgjOzE;;AiEljOM;EAEI,oCAA+D;AjEojOzE;;AiEtjOM;EAEI,oCAA+D;AjEwjOzE;;AiE1jOM;EAEI,qCAA+D;AjE4jOzE;;AiE9jOM;EAEI,2BAA+D;AjEgkOzE;;AiElkOM;EAEI,4BAA+D;AjEokOzE;;AiEtkOM;EAEI,6BAA+D;AjEwkOzE;;AiE1kOM;EAEI,yBAA+D;AjE4kOzE;;AiE9kOM;EAEI,yBAA+D;AjEglOzE;;AiEllOM;EAEI,yBAA+D;AjEolOzE;;AiEtlOM;EAEI,yBAA+D;AjEwlOzE;;AiE1lOM;EAEI,yBAA+D;AjE4lOzE;;AiE9lOM;EAEI,yBAA+D;AjEgmOzE;;AiElmOM;EAEI,yBAA+D;AjEomOzE;;AiEtmOM;EAEI,yBAA+D;AjEwmOzE;;AiE1mOM;EAEI,sBAA+D;AjE4mOzE;;AiE9mOM;EAEI,yBAA+D;AjEgnOzE;;AiElnOM;EAEI,yBAA+D;AjEonOzE;;AiEtnOM;EAEI,oCAA+D;AjEwnOzE;;AiE1nOM;EAEI,0CAA+D;AjE4nOzE;;AiE9nOM;EAEI,yBAA+D;AjEgoOzE;;AiEloOM;EAEI,yBAA+D;AjEooOzE;;AiEtoOM;EAEI,4BAA+D;A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;;Aa7uPI;EoDtBE;IAEI,sBAA+D;EjEswPvE;EiExwPI;IAEI,uBAA+D;EjEywPvE;EiE3wPI;IAEI,sBAA+D;EjE4wPvE;EiE9wPI;IAEI,0BAA+D;EjE+wPvE;EiEjxPI;IAEI,gCAA+D;EjEkxPvE;EiEpxPI;IAEI,yBAA+D;EjEqxPvE;EiEvxPI;IAEI,yBAA+D;EjEwxPvE;EiE1xPI;IAEI,6BAA+D;EjE2xPvE;EiE7xPI;IAEI,8BAA+D;EjE8xPvE;EiEhyPI;IAEI,wBAA+D;EjEiyPvE;EiEnyPI;IAEI,+BAA+D;EjEoyPvE;EiEtyPI;IAEI,wBAA+D;EjEuyPvE;EiEzyPI;IAEI,yBAA+D;EjE0yPvE;EiE5yPI;IAEI,8BAA+D;EjE6yPvE;EiE/yPI;IAEI,iCAA+D;EjEgzPvE;EiElzPI;IAEI,sCAA+D;EjEmzPvE;EiErzPI;IAEI,yCAA+D;EjEszPvE;EiExzPI;IAEI,uBAA+D;EjEyzPvE;EiE3zPI;IAEI,uBAA+D;EjE4zPvE;EiE9zPI;IAEI,yBAA+D;EjE+zPvE;EiEj0PI;IAEI,yBAA+D;EjEk0PvE;EiEp0PI;IAEI,0BAA+D;EjEq0PvE;EiEv0PI;IAEI,4BAA+D;EjEw0PvE;EiE10PI;IAEI,kCAA+D;EjE20PvE;EiE70PI;IAEI,sCAA+D;EjE80PvE;EiEh1PI;IAEI,oCAA+D;EjEi1PvE;EiEn1PI;IAEI,kCAA+D;EjEo1PvE;EiEt1PI;IAEI,yCAA+D;EjEu1PvE;EiEz1PI;IAEI,wCAA+D;EjE01PvE;EiE51PI;IAEI,wCAA+D;EjE61PvE;EiE/1PI;IAEI,kCAA+D;EjEg2PvE;EiEl2PI;IAEI,gCAA+D;EjEm2PvE;EiEr2PI;IAEI,8BAA+D;EjEs2PvE;EiEx2PI;IAEI,gCAA+D;EjEy2PvE;EiE32PI;IAEI,+BAA+D;EjE42PvE;EiE92PI;IAEI,oCAA+D;EjE+2PvE;EiEj3PI;IAEI,kCAA+D;EjEk3PvE;EiEp3PI;IAEI,gCAA+D;EjEq3PvE;EiEv3PI;IAEI,uCAA+D;EjEw3PvE;EiE13PI;IAEI,sCAA+D;EjE23PvE;EiE73PI;IAEI,iCAA+D;EjE83PvE;EiE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QI;IAEI,gCAA+D;EjE8uQvE;EiEhvQI;IAEI,yBAA+D;EjEivQvE;EiEnvQI;IAEI,yBAA+D;EjEovQvE;EiEtvQI;IAEI,6BAA+D;EjEuvQvE;EiEzvQI;IAEI,8BAA+D;EjE0vQvE;EiE5vQI;IAEI,wBAA+D;EjE6vQvE;EiE/vQI;IAEI,+BAA+D;EjEgwQvE;EiElwQI;IAEI,wBAA+D;EjEmwQvE;EiErwQI;IAEI,yBAA+D;EjEswQvE;EiExwQI;IAEI,8BAA+D;EjEywQvE;EiE3wQI;IAEI,iCAA+D;EjE4wQvE;EiE9wQI;IAEI,sCAA+D;EjE+wQvE;EiEjxQI;IAEI,yCAA+D;EjEkxQvE;EiEpxQI;IAEI,uBAA+D;EjEqxQvE;EiEvxQI;IAEI,uBAA+D;EjEwxQvE;EiE1xQI;IAEI,yBAA+D;EjE2xQvE;EiE7xQI;IAEI,yBAA+D;EjE8xQvE;EiEhyQI;IAEI,0BAA+D;EjEiyQvE;EiEnyQI;IAEI,4BAA+D;EjEoyQvE;EiEtyQI;IAEI,kCAA+D;EjEuyQvE;EiEzyQI;IAEI,sCAA+D;EjE0yQvE;EiE5yQI;IAEI,oCAA+D;EjE6yQvE;EiE/yQI;IAEI,kCAA+D;EjEgzQvE;EiElzQI;IAEI,yCAA+D;EjEmzQvE;EiErzQI;IAEI,wCAA+D;EjEszQvE;EiExzQI;IAEI,wCAA+D;EjEyzQvE;EiE3zQI;IAEI,kCAA+D;EjE4zQvE;EiE9zQI;IAEI,gCAA+D;EjE+zQvE;EiEj0QI;IAEI,8BAA+D;EjEk0QvE;EiEp0QI;IAEI,gCAA+D;EjEq0QvE;EiEv0QI;IAEI,+BAA+D;EjEw0QvE;EiE10QI;IAEI,oCAA+D;EjE20QvE;EiE70QI;IAEI,kCAA+D;EjE80QvE;EiEh1QI;IAEI,gCAA+D;EjEi1QvE;EiEn1QI;IAEI,uCAA+D;EjEo1QvE;EiEt1QI;IAEI,sCAA+D;EjEu1QvE;EiEz1QI;IAEI,iCAA+D;EjE01QvE;EiE51QI;IAEI,2BAA+D;EjE61QvE;EiE/1QI;IAEI,iCAA+D;EjEg2QvE;EiEl2QI;IAEI,+BAA+D;EjEm2QvE;EiEr2QI;IAEI,6BAA+D;EjEs2QvE;EiEx2QI;IAEI,+BA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D;EjEstRvE;EiExtRI;IAEI,wBAA+D;EjEytRvE;EiE3tRI;IAEI,+BAA+D;EjE4tRvE;EiE9tRI;IAEI,wBAA+D;EjE+tRvE;EiEjuRI;IAEI,yBAA+D;EjEkuRvE;EiEpuRI;IAEI,8BAA+D;EjEquRvE;EiEvuRI;IAEI,iCAA+D;EjEwuRvE;EiE1uRI;IAEI,sCAA+D;EjE2uRvE;EiE7uRI;IAEI,yCAA+D;EjE8uRvE;EiEhvRI;IAEI,uBAA+D;EjEivRvE;EiEnvRI;IAEI,uBAA+D;EjEovRvE;EiEtvRI;IAEI,yBAA+D;EjEuvRvE;EiEzvRI;IAEI,yBAA+D;EjE0vRvE;EiE5vRI;IAEI,0BAA+D;EjE6vRvE;EiE/vRI;IAEI,4BAA+D;EjEgwRvE;EiElwRI;IAEI,kCAA+D;EjEmwRvE;EiErwRI;IAEI,sCAA+D;EjEswRvE;EiExwRI;IAEI,oCAA+D;EjEywRvE;EiE3wRI;IAEI,kCAA+D;EjE4wRvE;EiE9wRI;IAEI,yCAA+D;EjE+wRvE;EiEjxRI;IAEI,wCAA+D;EjEkxRvE;EiEpxRI;IAEI,wCAA+D;EjEqxRvE;EiEvxRI;IAEI,kCAA+D;EjEwxRvE;EiE1xRI;IAEI,gCAA+D;EjE2xRvE;EiE7xRI;IAEI,8BAA+D;EjE8xRvE;EiEhyRI;IAEI,gCAA+D;EjEiyRvE;EiEnyRI;IAEI,+BAA+D;EjEoyRvE;EiEtyRI;IAEI,oCAA+D;EjEuyRvE;EiEzyRI;IAEI,kCAA+D;EjE0yRvE;EiE5yRI;IAEI,gCAA+D;EjE6yRvE;EiE/yRI;IAEI,uCAA+D;EjEgzRvE;EiElzRI;IAEI,sCAA+D;EjEmzRvE;EiErzRI;IAEI,iCAA+D;EjEszRvE;EiExzRI;IAEI,2BAA+D;EjEyzRvE;EiE3zRI;IAEI,iCAA+D;EjE4zRvE;EiE9zRI;IAEI,+BAA+D;EjE+zRvE;EiEj0RI;IAEI,6BAA+D;EjEk0RvE;EiEp0RI;IAEI,+BAA+D;EjEq0RvE;EiEv0RI;IAEI,8BAA+D;EjEw0RvE;EiE10RI;IAEI,oBAA+D;EjE20RvE;EiE70RI;IAEI,mBAA+D;EjE80RvE;EiEh1RI;IAEI,mBAA+D;EjEi1RvE;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A+D;IAA/D,+BAA+D;EjEmkSvE;EiErkSI;IAEI,yBAA+D;EjEskSvE;EiExkSI;IAEI,+BAA+D;EjEykSvE;EiE3kSI;IAEI,8BAA+D;EjE4kSvE;EiE9kSI;IAEI,4BAA+D;EjE+kSvE;EiEjlSI;IAEI,8BAA+D;EjEklSvE;EiEplSI;IAEI,4BAA+D;EjEqlSvE;EiEvlSI;IAEI,2BAA+D;EjEwlSvE;EiE1lSI;IAEI,iCAA+D;EjE2lSvE;EiE7lSI;IAEI,gCAA+D;EjE8lSvE;EiEhmSI;IAEI,8BAA+D;EjEimSvE;EiEnmSI;IAEI,gCAA+D;EjEomSvE;EiEtmSI;IAEI,8BAA+D;EjEumSvE;EiEzmSI;IAEI,4BAA+D;EjE0mSvE;EiE5mSI;IAEI,kCAA+D;EjE6mSvE;EiE/mSI;IAEI,iCAA+D;EjEgnSvE;EiElnSI;IAEI,+BAA+D;EjEmnSvE;EiErnSI;IAEI,iCAA+D;EjEsnSvE;EiExnSI;IAEI,+BAA+D;EjEynSvE;EiE3nSI;IAEI,0BAA+D;EjE4nSvE;EiE9nSI;IAEI,gCAA+D;EjE+nSvE;EiEjoSI;IAEI,+BAA+D;EjEkoSvE;EiEpoSI;IAEI,6BAA+D;EjEqoSvE;EiEvoSI;IAEI,+BAA+D;EjEwoSvE;EiE1oSI;IAEI,6BAA+D;EjE2oSvE;EiE7oSI;IAEI,2BAA+D;EjE8oSvE;EiEhpSI;IAEI,4BAA+D;EjEipSvE;EiEnpSI;IAEI,6BAA+D;EjEopSvE;AACF;;AajoSI;EoDtBE;IAEI,sBAA+D;EjE0pSvE;EiE5pSI;IAEI,uBAA+D;EjE6pSvE;EiE/pSI;IAEI,sBAA+D;EjEgqSvE;EiElqSI;IAEI,0BAA+D;EjEmqSvE;EiErqSI;IAEI,gCAA+D;EjEsqSvE;EiExqSI;IAEI,yBAA+D;EjEyqSvE;EiE3qSI;IAEI,yBAA+D;EjE4qSvE;EiE9qSI;IAEI,6BAA+D;EjE+qSvE;EiEjrSI;IAEI,8BAA+D;EjEkrSvE;EiEprSI;IAEI,wBAA+D;EjEqrSvE;EiEvrSI;IAEI,+BAA+D;EjEwrSvE;EiE1rSI;IAEI,wBAA+D;EjE2rSvE;EiE7rSI;IAEI,yBAA+D;EjE8rSvE;EiEhsSI;IAEI,8BAA+D;EjEisSvE;EiEnsSI;IAEI,iCAA+D;EjEosSvE;EiEtsSI;IAEI,sCAA+D;EjEusSvE;EiEzsSI;IAEI,yCAA+D;EjE0sSvE;EiE5sSI;IAEI,uBAA+D;EjE6sSvE;EiE/sSI;IAEI,uBAA+D;EjEgtSvE;EiEltSI;IAEI,yBAA+D;EjEmtSvE;EiErtSI;IAEI,yBAA+D;EjEstSvE;EiExtSI;IAEI,0BAA+D;EjEytSvE;EiE3tSI;IAEI,4BAA+D;EjE4tSvE;EiE9tSI;IAEI,kCAA+D;EjE+tSvE;EiEjuSI;IAEI,sCAA+D;EjEkuSvE;EiEpuSI;IAEI,oCAA+D;EjEquSvE;EiEvuSI;IAEI,kCAA+D;EjEwuSvE;EiE1uSI;IAEI,yCAA+D;EjE2uSvE;EiE7uSI;IAEI,wCAA+D;EjE8uSvE;EiEhvSI;IAEI,wCAA+D;EjEivSvE;EiEnvSI;IAEI,kCAA+D;EjEovSvE;EiEtvSI;IAEI,gCAA+D;EjEuvSvE;EiEzvSI;IAEI,8BAA+D;EjE0vSvE;EiE5vSI;IAEI,gCAA+D;EjE6vSvE;EiE/vSI;IAEI,+BAA+D;EjEgwSvE;EiElwSI;IAEI,oCAA+D;EjEmwSvE;EiErwSI;IAEI,kCAA+D;EjEswSvE;EiExwSI;IAEI,gCAA+D;EjEywSvE;EiE3wSI;IAEI,uCAA+D;EjE4wSvE;EiE9wSI;IAEI,sCAA+D;EjE+wSvE;EiEjxSI;IAEI,iCAA+D;EjEkxSvE;EiEpxSI;IAEI,2BAA+D;EjEqxSvE;EiEvxSI;IAEI,iCAA+D;EjEwxSvE;EiE1xSI;IAEI,+BAA+D;EjE2xSvE;EiE7xSI;IAEI,6BAA+D;EjE8xSvE;EiEhySI;IAEI,+BAA+D;EjEiySvE;EiEnySI;IAEI,8BAA+D;EjEoySvE;EiEtySI;IAEI,oBAA+D;EjEuySvE;EiEzySI;IAEI,mBAA+D;EjE0ySvE;EiE5ySI;IAEI,mBAA+D;EjE6ySvE;EiE/ySI;IAEI,mBAA+D;EjEgzSvE;EiElzSI;IAEI,mBAA+D;EjEmzSvE;EiErzSI;IAEI,mBAA+D;EjEszSvE;EiExzSI;IAEI,mBAA+D;EjEyzSvE;EiE3zSI;IAEI,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A+D;EjE2iTvE;EiE7iTI;IAEI,8BAA+D;EjE8iTvE;EiEhjTI;IAEI,4BAA+D;EjEijTvE;EiEnjTI;IAEI,2BAA+D;EjEojTvE;EiEtjTI;IAEI,iCAA+D;EjEujTvE;EiEzjTI;IAEI,gCAA+D;EjE0jTvE;EiE5jTI;IAEI,8BAA+D;EjE6jTvE;EiE/jTI;IAEI,gCAA+D;EjEgkTvE;EiElkTI;IAEI,8BAA+D;EjEmkTvE;EiErkTI;IAEI,4BAA+D;EjEskTvE;EiExkTI;IAEI,kCAA+D;EjEykTvE;EiE3kTI;IAEI,iCAA+D;EjE4kTvE;EiE9kTI;IAEI,+BAA+D;EjE+kTvE;EiEjlTI;IAEI,iCAA+D;EjEklTvE;EiEplTI;IAEI,+BAA+D;EjEqlTvE;EiEvlTI;IAEI,0BAA+D;EjEwlTvE;EiE1lTI;IAEI,gCAA+D;EjE2lTvE;EiE7lTI;IAEI,+BAA+D;EjE8lTvE;EiEhmTI;IAEI,6BAA+D;EjEimTvE;EiEnmTI;IAEI,+BAA+D;EjEomTvE;EiEtmTI;IAEI,6BAA+D;EjEumTvE;EiEzmTI;IAEI,2BAA+D;EjE0mTvE;EiE5mTI;IAEI,4BAA+D;EjE6mTvE;EiE/mTI;IAEI,6BAA+D;EjEgnTvE;AACF;;AkEzoTA;EDsBM;IAEI,4BAA+D;EjEsnTvE;EiExnTI;IAEI,0BAA+D;EjEynTvE;EiE3nTI;IAEI,6BAA+D;EjE4nTvE;EiE9nTI;IAEI,4BAA+D;EjE+nTvE;EiEjoTI;IAEI,4BAA+D;EjEkoTvE;EiEpoTI;IAEI,0BAA+D;EjEqoTvE;EiEvoTI;IAEI,6BAA+D;EjEwoTvE;EiE1oTI;IAEI,4BAA+D;EjE2oTvE;EiE7oTI;IAEI,4BAA+D;EjE8oTvE;EiEhpTI;IAEI,0BAA+D;EjEipTvE;EiEnpTI;IAEI,6BAA+D;EjEopTvE;EiEtpTI;IAEI,4BAA+D;EjEupTvE;EiEzpTI;IAEI,4BAA+D;EjE0pTvE;EiE5pTI;IAEI,0BAA+D;EjE6pTvE;EiE/pTI;IAEI,6BAA+D;EjEgqTvE;EiElqTI;IAEI,4BAA+D;EjEmqTvE;AACF;;AkEzqTA;EDGM;IAEI,0BAA+D;EjEyqTvE;EiE3qTI;IAEI,gCAA+D;EjE4qTvE;EiE9qTI;IAEI,yBAA+D;EjE+qTvE;EiEjrTI;IAEI,yBAA+D;EjEkrTvE;EiEprTI;IAEI,6BAA+D;EjEqrTvE;EiEvrTI;IAEI,8BAA+D;EjEwrTvE;EiE1rTI;IAEI,wBAA+D;EjE2rTvE;EiE7rTI;IAEI,+BAA+D;EjE8rTvE;EiEhsTI;IAEI,wBAA+D;EjEisTvE;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n","/*!\n * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n@media (min-width: 1400px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {\n max-width: 1320px;\n }\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n.table {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));\n border-bottom-width: 1px;\n}\n\n.table > tbody {\n vertical-align: inherit;\n}\n\n.table > thead {\n vertical-align: bottom;\n}\n\n.table > :not(:last-child) > :last-child > * {\n border-bottom-color: currentColor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: 1px 0;\n}\n\n.table-bordered > :not(caption) > * > * {\n border-width: 0 1px;\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-bg: #cfe2ff;\n --bs-table-striped-bg: #c5d7f2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bacbe6;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfd1ec;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bacbe6;\n}\n\n.table-secondary {\n --bs-table-bg: #e2e3e5;\n --bs-table-striped-bg: #d7d8da;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #cbccce;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #d1d2d4;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #cbccce;\n}\n\n.table-success {\n --bs-table-bg: #d1e7dd;\n --bs-table-striped-bg: #c7dbd2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bcd0c7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #c1d6cc;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bcd0c7;\n}\n\n.table-info {\n --bs-table-bg: #cff4fc;\n --bs-table-striped-bg: #c5e8ef;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #badce3;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfe2e9;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #badce3;\n}\n\n.table-warning {\n --bs-table-bg: #fff3cd;\n --bs-table-striped-bg: #f2e7c3;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6dbb9;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ece1be;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #e6dbb9;\n}\n\n.table-danger {\n --bs-table-bg: #f8d7da;\n --bs-table-striped-bg: #eccccf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfc2c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5c7ca;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfc2c4;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #ecedee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfe0e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5e6e7;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfe0e1;\n}\n\n.table-dark {\n --bs-table-bg: #212529;\n --bs-table-striped-bg: #2c3034;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #373b3e;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #323539;\n --bs-table-hover-color: #fff;\n color: #fff;\n border-color: #373b3e;\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n appearance: none;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control:focus {\n color: #212529;\n background-color: #fff;\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #212529;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #212529;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-input {\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: #fff;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n color-adjust: exact;\n transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-check-input {\n transition: none;\n }\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n border-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: 0.5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-position: left center;\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n.form-file {\n --bs-form-file-height: calc(1.5em + 0.75rem + 2px);\n position: relative;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: var(--bs-form-file-height);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #86b7fe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text,\n.form-file-input:disabled ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: var(--bs-form-file-height);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #212529;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-file-sm {\n --bs-form-file-height: calc(1.5em + 0.5rem + 2px);\n font-size: 0.875rem;\n}\n\n.form-file-sm .form-file-text,\n.form-file-sm .form-file-button {\n padding: 0.25rem 0.5rem;\n}\n\n.form-file-lg {\n --bs-form-file-height: calc(1.5em + 1rem + 2px);\n font-size: 1.25rem;\n}\n\n.form-file-lg .form-file-text,\n.form-file-lg .form-file-button {\n padding: 0.5rem 1rem;\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #b6d4fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #b6d4fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #b6d4fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled {\n pointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-floating {\n position: relative;\n}\n\n.form-floating > .form-control,\n.form-floating > .form-select {\n height: calc(3.5rem + 2px);\n padding: 1rem 0.75rem;\n}\n\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n padding: 1rem 0.75rem;\n pointer-events: none;\n border: 1px solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n\n.form-floating > .form-control::placeholder {\n color: transparent;\n}\n\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n\n.form-floating > .form-control:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-select ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n.form-floating > .form-control:-webkit-autofill ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n@supports (-ms-ime-align: auto) {\n .form-floating {\n display: flex;\n flex-direction: column-reverse;\n }\n .form-floating > label {\n position: static;\n padding: 0;\n margin-bottom: calc(1rem / 2);\n border: 0;\n transition: none;\n }\n .form-floating > .form-control::-ms-input-placeholder {\n color: #6c757d;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file > .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-file:not(:last-child) > .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) > .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #198754;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(25, 135, 84, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #198754;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #198754;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #198754;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #198754;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #198754;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #198754;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\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\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n}\n\n.btn-check:focus + .btn, .btn:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.btn:disabled, .btn.disabled,\nfieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n}\n\n.btn-check:focus + .btn-primary, .btn-primary:focus {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-check:checked + .btn-primary,\n.btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0a58ca;\n border-color: #0a53be;\n}\n\n.btn-check:checked + .btn-primary:focus,\n.btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n}\n\n.btn-check:focus + .btn-secondary, .btn-secondary:focus {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-check:checked + .btn-secondary,\n.btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #565e64;\n border-color: #51585e;\n}\n\n.btn-check:checked + .btn-secondary:focus,\n.btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n}\n\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-check:checked + .btn-success,\n.btn-check:active + .btn-success, .btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #146c43;\n border-color: #13653f;\n}\n\n.btn-check:checked + .btn-success:focus,\n.btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-info {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-info:hover {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n}\n\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-check:checked + .btn-info,\n.btn-check:active + .btn-info, .btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #000;\n background-color: #3dd5f3;\n border-color: #25cff2;\n}\n\n.btn-check:checked + .btn-info:focus,\n.btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-warning {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n}\n\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-check:checked + .btn-warning,\n.btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #000;\n background-color: #ffcd39;\n border-color: #ffc720;\n}\n\n.btn-check:checked + .btn-warning:focus,\n.btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n}\n\n.btn-check:focus + .btn-danger, .btn-danger:focus {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-check:checked + .btn-danger,\n.btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #b02a37;\n border-color: #a52834;\n}\n\n.btn-check:checked + .btn-danger:focus,\n.btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-check:checked + .btn-light,\n.btn-check:active + .btn-light, .btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n\n.btn-check:checked + .btn-light:focus,\n.btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n}\n\n.btn-check:focus + .btn-dark, .btn-dark:focus {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n\n.btn-check:checked + .btn-dark,\n.btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1a1e21;\n border-color: #191c1f;\n}\n\n.btn-check:checked + .btn-dark:focus,\n.btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-check:checked + .btn-outline-primary,\n.btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:checked + .btn-outline-primary:focus,\n.btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-check:checked + .btn-outline-secondary,\n.btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:checked + .btn-outline-secondary:focus,\n.btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #198754;\n border-color: #198754;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-check:checked + .btn-outline-success,\n.btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:checked + .btn-outline-success:focus,\n.btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #198754;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-outline-info:hover {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-check:checked + .btn-outline-info,\n.btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:checked + .btn-outline-info:focus,\n.btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #0dcaf0;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-check:checked + .btn-outline-warning,\n.btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:checked + .btn-outline-warning:focus,\n.btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-check:checked + .btn-outline-danger,\n.btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:checked + .btn-outline-danger:focus,\n.btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-check:checked + .btn-outline-light,\n.btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:checked + .btn-outline-light:focus,\n.btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #212529;\n border-color: #212529;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n\n.btn-check:checked + .btn-outline-dark,\n.btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-check:checked + .btn-outline-dark:focus,\n.btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #212529;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n\n.btn-link:hover {\n color: #0a58ca;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\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\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #1e2125;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #212529;\n}\n\n.dropdown-menu-dark {\n color: #dee2e6;\n background-color: #343a40;\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {\n color: #adb5bd;\n}\n\n.dropdown-menu-dark .dropdown-divider {\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item-text {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-header {\n color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:nth-child(n + 3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n text-decoration: none;\n white-space: nowrap;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.25rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1rem 1rem;\n}\n\n.card-title {\n margin-bottom: 0.5rem;\n}\n\n.card-subtitle {\n margin-top: -0.25rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1rem;\n}\n\n.card-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.5rem 1rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.5rem;\n margin-bottom: -0.5rem;\n margin-left: -0.5rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\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\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0a58ca;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n color: #0a58ca;\n background-color: #e9ecef;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.35em 0.65em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 1rem 1rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n color: #07377f;\n background-color: #cfe2ff;\n border-color: #b6d4fe;\n}\n\n.alert-primary .alert-link {\n color: #062c66;\n}\n\n.alert-secondary {\n color: #363b3f;\n background-color: #e2e3e5;\n border-color: #d3d6d8;\n}\n\n.alert-secondary .alert-link {\n color: #2b2f32;\n}\n\n.alert-success {\n color: #0d442a;\n background-color: #d1e7dd;\n border-color: #badbcc;\n}\n\n.alert-success .alert-link {\n color: #0a3622;\n}\n\n.alert-info {\n color: #076578;\n background-color: #cff4fc;\n border-color: #b6effb;\n}\n\n.alert-info .alert-link {\n color: #065160;\n}\n\n.alert-warning {\n color: #806104;\n background-color: #fff3cd;\n border-color: #ffecb5;\n}\n\n.alert-warning .alert-link {\n color: #664e03;\n}\n\n.alert-danger {\n color: #6e1b23;\n background-color: #f8d7da;\n border-color: #f5c2c7;\n}\n\n.alert-danger .alert-link {\n color: #58161c;\n}\n\n.alert-light {\n color: #7c7d7d;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #636464;\n}\n\n.alert-dark {\n color: #111315;\n background-color: #d3d3d4;\n border-color: #bcbebf;\n}\n\n.alert-dark .alert-link {\n color: #0e0f11;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #07377f;\n background-color: #cfe2ff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #07377f;\n background-color: #bacbe6;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #07377f;\n border-color: #07377f;\n}\n\n.list-group-item-secondary {\n color: #363b3f;\n background-color: #e2e3e5;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #363b3f;\n background-color: #cbccce;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #363b3f;\n border-color: #363b3f;\n}\n\n.list-group-item-success {\n color: #0d442a;\n background-color: #d1e7dd;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #0d442a;\n background-color: #bcd0c7;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #0d442a;\n border-color: #0d442a;\n}\n\n.list-group-item-info {\n color: #076578;\n background-color: #cff4fc;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #076578;\n background-color: #badce3;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #076578;\n border-color: #076578;\n}\n\n.list-group-item-warning {\n color: #806104;\n background-color: #fff3cd;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #806104;\n background-color: #e6dbb9;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #806104;\n border-color: #806104;\n}\n\n.list-group-item-danger {\n color: #6e1b23;\n background-color: #f8d7da;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #6e1b23;\n background-color: #dfc2c4;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #6e1b23;\n border-color: #6e1b23;\n}\n\n.list-group-item-light {\n color: #7c7d7d;\n background-color: #fefefe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #7c7d7d;\n background-color: #e5e5e5;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #7c7d7d;\n border-color: #7c7d7d;\n}\n\n.list-group-item-dark {\n color: #111315;\n background-color: #d3d3d4;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #111315;\n background-color: #bebebf;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #111315;\n border-color: #111315;\n}\n\n.btn-close {\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: #000;\n background: transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\") no-repeat center center/1em auto;\n border: 0;\n border-radius: 0.25rem;\n opacity: 0.5;\n}\n\n.btn-close:hover {\n color: #000;\n text-decoration: none;\n opacity: 0.75;\n}\n\n.btn-close:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n opacity: 1;\n}\n\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: 0.25;\n}\n\n.btn-close-white {\n filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.5rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-header .btn-close {\n margin-right: -0.375rem;\n margin-left: 0.75rem;\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .btn-close {\n padding: 0.5rem 0.5rem;\n margin: -0.5rem -0.5rem -0.5rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-header {\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\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}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f0f0f0;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f0f0f0;\n border-bottom: 1px solid #d8d8d8;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 1rem 1rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n\n.carousel-dark .carousel-indicators li {\n background-color: #000;\n}\n\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border 0.75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow 0.75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: 1.5s;\n }\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #0a58ca;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #565e64;\n}\n\n.link-success {\n color: #198754;\n}\n\n.link-success:hover, .link-success:focus {\n color: #146c43;\n}\n\n.link-info {\n color: #0dcaf0;\n}\n\n.link-info:hover, .link-info:focus {\n color: #3dd5f3;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ffcd39;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #b02a37;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #f9fafb;\n}\n\n.link-dark {\n color: #212529;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #1a1e21;\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n\n.ratio::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n}\n\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --aspect-ratio: calc(3 / 4 * 100%);\n}\n\n.ratio-16x9 {\n --aspect-ratio: calc(9 / 16 * 100%);\n}\n\n.ratio-21x9 {\n --aspect-ratio: calc(9 / 21 * 100%);\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n position: absolute !important;\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\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #212529 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #212529 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #212529 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n .float-xxl-right {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n .text-xxl-left {\n text-align: left !important;\n }\n .text-xxl-right {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n .fs-2 {\n font-size: 2rem !important;\n }\n .fs-3 {\n font-size: 1.75rem !important;\n }\n .fs-4 {\n font-size: 1.5rem !important;\n }\n .fs-sm-1 {\n font-size: 2.5rem !important;\n }\n .fs-sm-2 {\n font-size: 2rem !important;\n }\n .fs-sm-3 {\n font-size: 1.75rem !important;\n }\n .fs-sm-4 {\n font-size: 1.5rem !important;\n }\n .fs-md-1 {\n font-size: 2.5rem !important;\n }\n .fs-md-2 {\n font-size: 2rem !important;\n }\n .fs-md-3 {\n font-size: 1.75rem !important;\n }\n .fs-md-4 {\n font-size: 1.5rem !important;\n }\n .fs-lg-1 {\n font-size: 2.5rem !important;\n }\n .fs-lg-2 {\n font-size: 2rem !important;\n }\n .fs-lg-3 {\n font-size: 1.75rem !important;\n }\n .fs-lg-4 {\n font-size: 1.5rem !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n// 4. Disable auto-hiding scrollbar in legacy Edge to avoid overlap,\n// making it impossible to interact with the content\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n -ms-overflow-style: scrollbar; // 4\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\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// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. 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\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\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. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !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$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: scale-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n$headings-margin-bottom: $spacer / 2 !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: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n\n$table-variants: (\n \"primary\": scale-color($primary, $table-bg-scale),\n \"secondary\": scale-color($secondary, $table-bg-scale),\n \"success\": scale-color($success, $table-bg-scale),\n \"info\": scale-color($info, $table-bg-scale),\n \"warning\": scale-color($warning, $table-bg-scale),\n \"danger\": scale-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.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.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><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\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 50% !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 50% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><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 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 16 16'><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-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$btn-close-color}' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n// See https://github.com/twbs/bootstrap/pull/30168\n\n// A list of pre-calculated numbers of pow(($value / 255 + .055) / 1.055, 2.4). (from 0 to 255)\n// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern\n$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;\n\n@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {\n $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black;\n $max-ratio: 0;\n $max-ratio-color: null;\n\n @each $color in $foregrounds {\n $contrast-ratio: contrast-ratio($background, $color);\n @if $contrast-ratio > $min-contrast-ratio {\n @return $color;\n } @else if $contrast-ratio > $max-ratio {\n $max-ratio: $contrast-ratio;\n $max-ratio-color: $color;\n }\n }\n\n @warn \"Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...\";\n\n @return $max-ratio-color;\n}\n\n@function contrast-ratio($background, $foreground: $color-contrast-light) {\n $l1: luminance($background);\n $l2: luminance(opaque($background, $foreground));\n\n @return if($l1 > $l2, ($l1 + .05) / ($l2 + .05), ($l2 + .05) / ($l1 + .05));\n}\n\n// Return WCAG2.0 relative luminance\n// See https://www.w3.org/WAI/GL/wiki/Relative_luminance\n// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n@function luminance($color) {\n $rgb: (\n \"r\": red($color),\n \"g\": green($color),\n \"b\": blue($color)\n );\n\n @each $name, $value in $rgb {\n $value: if($value / 255 < .03928, $value / 255 / 12.92, nth($_luminance-list, $value + 1));\n $rgb: map-merge($rgb, ($name: $value));\n }\n\n @return (map-get($rgb, \"r\") * .2126) + (map-get($rgb, \"g\") * .7152) + (map-get($rgb, \"b\") * .0722);\n}\n\n// Return opaque color\n// opaque(#fff, rgba(0, 0, 0, .5)) => #808080\n@function opaque($background, $foreground) {\n @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);\n}\n\n// scss-docs-start color-functions\n// Tint a color: mix a color with white\n@function tint-color($color, $weight) {\n @return mix(white, $color, $weight);\n}\n\n// Shade a color: mix a color with black\n@function shade-color($color, $weight) {\n @return mix(black, $color, $weight);\n}\n\n// Scale a color:\n// Shade the color if the weight is positive, else tint it\n@function scale-color($color, $weight) {\n @return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));\n}\n// scss-docs-end color-functions\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\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 type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n .display-#{$display} {\n @include font-size($font-size);\n font-weight: $display-font-weight;\n line-height: $display-line-height;\n }\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-font-size);\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\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: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof 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: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n --#{$variable-prefix}table-bg: #{$table-bg};\n --#{$variable-prefix}table-accent-bg: transparent;\n --#{$variable-prefix}table-striped-color: #{$table-striped-color};\n --#{$variable-prefix}table-striped-bg: #{$table-striped-bg};\n --#{$variable-prefix}table-active-color: #{$table-active-color};\n --#{$variable-prefix}table-active-bg: #{$table-active-bg};\n --#{$variable-prefix}table-hover-color: #{$table-hover-color};\n --#{$variable-prefix}table-hover-bg: #{$table-hover-bg};\n\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n border-color: $table-border-color;\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y $table-cell-padding-x;\n background-color: var(--#{$variable-prefix}table-bg);\n background-image: linear-gradient(var(--#{$variable-prefix}table-accent-bg), var(--#{$variable-prefix}table-accent-bg));\n border-bottom-width: $table-border-width;\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n\n // Highlight border color between thead, tbody and tfoot.\n > :not(:last-child) > :last-child > * {\n border-bottom-color: $table-group-separator-color;\n }\n}\n\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top {\n caption-side: top;\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n//\n// When borders are added on all sides of the cells, the corners can render odd when\n// these borders do not have the same color or if they are semi-transparent.\n// Therefor we add top and border bottoms to the `tr`s and left and right borders\n// to the `td`s or `th`s\n\n.table-bordered {\n > :not(caption) > * {\n border-width: $table-border-width 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 $table-border-width;\n }\n }\n}\n\n.table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-bottom-width: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) {\n --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-striped-bg);\n color: var(--#{$variable-prefix}table-striped-color);\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 --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-active-bg);\n color: var(--#{$variable-prefix}table-active-color);\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 --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-hover-bg);\n color: var(--#{$variable-prefix}table-hover-color);\n }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n @include table-variant($color, $value);\n}\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n","// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n .table-#{$state} {\n $color: color-contrast(opaque($body-bg, $background));\n $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n\n --#{$variable-prefix}table-bg: #{$background};\n --#{$variable-prefix}table-striped-bg: #{$striped-bg};\n --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)};\n --#{$variable-prefix}table-active-bg: #{$active-bg};\n --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)};\n --#{$variable-prefix}table-hover-bg: #{$hover-bg};\n --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)};\n\n color: $color;\n border-color: mix($color, $background, percentage($table-border-factor));\n }\n}\n// scss-docs-end table-variant\n","//\n// Labels\n//\n\n.form-label {\n margin-bottom: $form-label-margin-bottom;\n @include font-size($form-label-font-size);\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n color: $form-label-color;\n}\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n line-height: $input-line-height;\n color: $form-label-color;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Form text\n//\n\n.form-text {\n margin-top: $form-text-margin-top;\n @include font-size($form-text-font-size);\n font-style: $form-text-font-style;\n font-weight: $form-text-font-weight;\n color: $form-text-color;\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n appearance: none; // Fix appearance for date inputs in Safari\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only 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 &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n min-height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: $form-check-input-border;\n appearance: none;\n color-adjust: exact; // Keep themed appearance for print\n @include transition($form-check-transition);\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $form-check-radio-border-radius;\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n border-color: $form-check-input-indeterminate-border-color;\n\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n }\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: $form-check-input-disabled-opacity;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n opacity: $form-check-label-disabled-opacity;\n }\n }\n}\n\n.form-check-label {\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-position: left center;\n @include border-radius($form-switch-border-radius);\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n\n &[disabled],\n &:disabled {\n + .btn {\n pointer-events: none;\n filter: none;\n opacity: $form-check-btn-check-disabled-opacity;\n }\n }\n}\n",".form-file {\n --#{$variable-prefix}form-file-height: #{$form-file-height};\n position: relative;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: var(--#{$variable-prefix}form-file-height);\n margin: 0;\n opacity: 0;\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-file-label .form-file-text,\n &:disabled ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: var(--#{$variable-prefix}form-file-height);\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n\n.form-file-sm {\n --#{$variable-prefix}form-file-height: #{$form-file-height-sm};\n @include font-size($form-file-font-size-sm);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-sm $form-file-padding-x-sm;\n }\n}\n\n.form-file-lg {\n --#{$variable-prefix}form-file-height: #{$form-file-height-lg};\n @include font-size($form-file-font-size-lg);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-lg $form-file-padding-x-lg;\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--#{$variable-prefix}gradient);\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","// stylelint-disable selector-no-vendor-prefix\n\n.form-floating {\n position: relative;\n\n > .form-control,\n > .form-select {\n height: $form-floating-height;\n padding: $form-floating-padding-y $form-floating-padding-x;\n }\n\n > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%; // allow textareas\n padding: $form-floating-padding-y $form-floating-padding-x;\n pointer-events: none;\n border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n transform-origin: 0 0;\n @include transition($form-floating-transition);\n }\n\n // stylelint-disable no-duplicate-selectors\n > .form-control {\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n }\n\n > .form-select {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-select {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // stylelint-enable no-duplicate-selectors\n}\n\n\n//\n// Fallback for classic Edge\n//\n\n@supports (-ms-ime-align: auto) {\n .form-floating {\n display: flex;\n flex-direction: column-reverse;\n }\n .form-floating > label {\n position: static;\n padding: 0;\n margin-bottom: calc(#{$form-floating-padding-y} / 2); // stylelint-disable-line function-disallowed-list\n border: 0;\n @include transition(none);\n }\n .form-floating > .form-control::-ms-input-placeholder {\n color: $input-placeholder-color;\n }\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file {\n > .form-file-input:focus {\n z-index: 4;\n }\n\n &:not(:last-child) > .form-file-label {\n @include border-right-radius(0);\n }\n\n &:not(:first-child) > .form-file-label {\n @include border-left-radius(0);\n }\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $input-group-addon-font-weight;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n &:not(.has-validation) {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 3) {\n @include border-right-radius(0);\n }\n }\n\n &.has-validation {\n > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 4) {\n @include border-right-radius(0);\n }\n }\n\n $validation-messages: \"\";\n @each $state in map-keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + unquote($state) + \"-tooltip)\" + \":not(.\" + unquote($state) + \"-feedback)\";\n }\n\n > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n margin-left: -$input-border-width;\n @include border-left-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-contrast($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\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: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, $input-btn-focus-color-opacity);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n .btn-check:focus + &,\n &:focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n pointer-events: none;\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: if($color == $color-contrast-light, shade-color($background, 15%), tint-color($background, 15%)),\n $hover-border: if($color == $color-contrast-light, shade-color($border, 20%), tint-color($border, 10%)),\n $hover-color: color-contrast($hover-background),\n $active-background: if($color == $color-contrast-light, shade-color($background, 20%), tint-color($background, 20%)),\n $active-border: if($color == $color-contrast-light, shade-color($border, 25%), tint-color($border, 10%)),\n $active-color: color-contrast($active-background),\n $disabled-background: $background,\n $disabled-border: $border,\n $disabled-color: color-contrast($disabled-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $disabled-color;\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n &.dropdown-toggle.show {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: transparent;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\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","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// scss-docs-start responsive-breakpoints\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n color: $dropdown-dark-color;\n background-color: $dropdown-dark-bg;\n border-color: $dropdown-dark-border-color;\n @include box-shadow($dropdown-dark-box-shadow);\n\n .dropdown-item {\n color: $dropdown-dark-link-color;\n\n &:hover,\n &:focus {\n color: $dropdown-dark-link-hover-color;\n @include gradient-bg($dropdown-dark-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-dark-link-active-color;\n @include gradient-bg($dropdown-dark-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-dark-link-disabled-color;\n }\n }\n\n .dropdown-divider {\n border-color: $dropdown-dark-divider-bg;\n }\n\n .dropdown-item-text {\n color: $dropdown-dark-link-color;\n }\n\n .dropdown-header {\n color: $dropdown-dark-header-color;\n }\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n }\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n > .btn-check:checked + .btn,\n > .btn-check:focus + .btn,\n > .btn:hover,\n > .btn:focus,\n > .btn:active,\n > .btn.active {\n z-index: 1;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n // The left radius should be 0 if the button is:\n // - the \"third or more\" child\n // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n // - part of a btn-group which isn't the first child\n > .btn:nth-child(n + 3),\n > :not(.btn-check) + .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n @include font-size($nav-link-font-size);\n font-weight: $nav-link-font-weight;\n color: $nav-link-color;\n text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\n color: $nav-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n @include gradient-bg($nav-pills-link-active-bg);\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n @include gradient-bg();\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-brand-margin-right;\n @include font-size($navbar-brand-font-size);\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n width: 100%;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n @include transition($navbar-toggler-transition);\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 $navbar-toggler-focus-width;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n // stylelint-disable-next-line scss/selector-no-union-class-name\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\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: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-y $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-title-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-title-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-cap-padding-y $card-cap-padding-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-cap-padding-y $card-cap-padding-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-cap-padding-x / 2;\n margin-bottom: -$card-cap-padding-y;\n margin-left: -$card-cap-padding-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-cap-padding-x / 2;\n margin-left: -$card-cap-padding-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $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 // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n float: left; // Suppress inline spacings and underlining of the separator\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n @include transition($pagination-transition);\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n color: $pagination-focus-color;\n background-color: $pagination-focus-bg;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n @include gradient-bg($pagination-active-bg);\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $alert-dismissible-padding-r;\n\n // Adjust close link position\n .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: $stretched-link-z-index + 1;\n padding: $alert-padding-y * 1.25 $alert-padding-x;\n }\n}\n\n\n// scss-docs-start alert-modifiers\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(scale-color($value, $alert-bg-scale), scale-color($value, $alert-border-scale), scale-color($value, $alert-color-scale));\n }\n}\n// scss-docs-end alert-modifiers\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: shade-color($color, 20%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\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: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\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: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $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: $list-group-disabled-color;\n pointer-events: none;\n background-color: $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: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// scss-docs-start list-group-modifiers\n// List group contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, scale-color($value, $list-group-item-bg-scale), scale-color($value, $list-group-item-color-scale));\n}\n// scss-docs-end list-group-modifiers\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: shade-color($background, 10%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n","// transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n.btn-close {\n box-sizing: content-box;\n width: $btn-close-width;\n height: $btn-close-height;\n padding: $btn-close-padding-y $btn-close-padding-x;\n color: $btn-close-color;\n background: transparent escape-svg($btn-close-bg) no-repeat center center / $btn-close-width auto; // include transparent for button elements\n border: 0; // for button elements\n @include border-radius();\n opacity: $btn-close-opacity;\n\n // Override <a>'s hover style\n &:hover {\n color: $btn-close-color;\n text-decoration: none;\n opacity: $btn-close-hover-opacity;\n }\n\n &:focus {\n outline: none;\n box-shadow: $btn-close-focus-shadow;\n opacity: $btn-close-focus-opacity;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: $btn-close-disabled-opacity;\n }\n}\n\n.btn-close-white {\n filter: $btn-close-white-filter;\n}\n",".toast {\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n\n .btn-close {\n margin-right: $toast-padding-x / -2;\n margin-left: $toast-padding-x;\n }\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: 100%;\n overflow: hidden;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .btn-close {\n padding: ($modal-header-padding-y / 2) ($modal-header-padding-x / 2);\n margin: ($modal-header-padding-y / -2) ($modal-header-padding-x / -2) ($modal-header-padding-y / -2) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n @include media-breakpoint-down($breakpoint) {\n .modal-fullscreen#{$postfix} {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border: 0;\n @include border-radius(0);\n }\n\n .modal-header {\n @include border-radius(0);\n }\n\n .modal-body {\n overflow-y: auto;\n }\n\n .modal-footer {\n @include border-radius(0);\n }\n }\n }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($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: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $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 {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($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: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\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: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid shade-color($popover-header-bg, 10%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right 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-left and .active.carousel-item-right 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-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n\n// Dark mode carousel\n\n.carousel-dark {\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n filter: $carousel-dark-control-icon-filter;\n }\n\n .carousel-indicators li {\n background-color: $carousel-dark-indicator-active-bg;\n }\n\n .carousel-caption {\n color: $carousel-dark-caption-color;\n }\n}\n","// scss-docs-start clearfix\n@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n// scss-docs-end clearfix\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: spinner-border $spinner-animation-speed linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow $spinner-animation-speed linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n\n@if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: $spinner-animation-speed * 2;\n }\n }\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $link-shade-percentage != 0 {\n &:hover,\n &:focus {\n color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n }\n\n > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $aspect-ratios {\n .ratio-#{$key} {\n --aspect-ratio: #{$ratio};\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n}\n","//\n// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n @include visually-hidden();\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n position: absolute !important;\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\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin visually-hidden-focusable() {\n &:not(:focus) {\n @include visually-hidden();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["bootstrap.css","../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/forms/_validation.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_accordion.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.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/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA,gBAAgB;ACAhB;;;;;EAAA;ACAA;EAGI,kBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,kBAAA;EAAA,iBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAAA,kBAAA;EAAA,gBAAA;EAAA,kBAAA;EAAA,uBAAA;EAIA,qBAAA;EAAA,uBAAA;EAAA,qBAAA;EAAA,kBAAA;EAAA,qBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAKF,qNAAA;EACA,yGAAA;EACA,yFAAA;AFkBF;;AGjBA;;;EAGE,sBAAA;AHoBF;;AGPI;EAJJ;IAKM,uBAAA;EHWJ;AACF;;AGCA;EACE,SAAA;EACA,sCC+V4B;ECnJxB,eALI;EFrMR,gBCyW4B;EDxW5B,gBC8W4B;ED7W5B,cCnCS;EDqCT,sBC9CS;ED+CT,8BAAA;EACA,6CAAA;AHCF;;AGYA;EACE,qBAAA;AHTF;;AGkBA;EACE,cAAA;EACA,cC4Y4B;ED3Y5B,8BAAA;EACA,SAAA;EACA,aC2Y4B;AJ1Z9B;;AGkBA;EACE,WCmQ4B;AJlR9B;;AGyBA;EACE,aAAA;EACA,qBCmV4B;EDhV5B,gBCmV4B;EDlV5B,gBCmV4B;AJ3W9B;;AG4BA;EEoJQ,iCAAA;AL5KR;AKUI;EFcJ;IE2JQ,iBAAA;EL/KN;AACF;;AGwBA;EE+IQ,iCAAA;ALnKR;AKCI;EFmBJ;IEsJQ,eAAA;ELtKN;AACF;;AGoBA;EE0IQ,+BAAA;AL1JR;AKRI;EFwBJ;IEiJQ,kBAAA;EL7JN;AACF;;AGgBA;EEqIQ,iCAAA;ALjJR;AKjBI;EF6BJ;IE4IQ,iBAAA;ELpJN;AACF;;AGYA;EE4HM,kBALI;AL/HV;;AGaA;EEuHM,eALI;AL3HV;;AGoBA;EACE,aAAA;EACA,mBC8I0B;AJ/J5B;;AG4BA;;EAEE,0BAAA;EACA,yCAAA;EAAA,iCAAA;EACA,YAAA;EACA,sCAAA;EAAA,8BAAA;AHzBF;;AG+BA;EACE,mBAAA;EACA,kBAAA;EACA,oBAAA;AH5BF;;AGkCA;;EAEE,kBAAA;AH/BF;;AGkCA;;;EAGE,aAAA;EACA,mBAAA;AH/BF;;AGkCA;;;;EAIE,gBAAA;AH/BF;;AGkCA;EACE,gBCuN4B;AJtP9B;;AGoCA;EACE,qBAAA;EACA,cAAA;AHjCF;;AGuCA;EACE,gBAAA;AHpCF;;AG4CA;;EAEE,mBCgM4B;AJzO9B;;AGiDA;EEuBM,kBALI;AL/DV;;AGoDA;EACE,cCwP4B;EDvP5B,yBC+P4B;AJhT9B;;AG0DA;;EAEE,kBAAA;EEGI,iBALI;EFIR,cAAA;EACA,wBAAA;AHvDF;;AG0DA;EAAM,eAAA;AHtDN;;AGuDA;EAAM,WAAA;AHnDN;;AGwDA;EACE,cCpOQ;EDqOR,0BCawC;AJlE1C;AGuDE;EACE,cCYsC;AJjE1C;;AGgEE;EAEE,cAAA;EACA,qBAAA;AH9DJ;;AGqEA;;;;EAIE,qCC6G4B;ECpJxB,cALI;ALrBV;;AGyEA;EACE,cAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;EEnDI,kBALI;ALbV;AG0EE;EExDI,kBALI;EF+DN,cAAA;EACA,kBAAA;AHxEJ;;AG4EA;EE/DM,kBALI;EFsER,cCxRQ;EDyRR,qBAAA;AHzEF;AG4EE;EACE,cAAA;AH1EJ;;AG8EA;EACE,sBAAA;EE3EI,kBALI;EFkFR,WCjUS;EDkUT,yBCzTS;EEEP,qBAAA;AN6OJ;AG6EE;EACE,UAAA;EElFE,cALI;EFyFN,gBC4E0B;AJvJ9B;;AGoFA;EACE,gBAAA;AHjFF;;AGuFA;;EAEE,sBAAA;AHpFF;;AG4FA;EACE,oBAAA;EACA,yBAAA;AHzFF;;AG4FA;EACE,mBCqI4B;EDpI5B,sBCoI4B;EDnI5B,cCpWS;EDqWT,gBAAA;AHzFF;;AGgGA;EAEE,mBAAA;EACA,gCAAA;AH9FF;;AGiGA;;;;;;EAME,qBAAA;EACA,mBAAA;EACA,eAAA;AH9FF;;AGsGA;EACE,qBAAA;AHnGF;;AGyGA;EAEE,gBAAA;AHvGF;;AG8GA;EACE,mBAAA;EACA,0CAAA;AH3GF;;AGgHA;;;;;EAKE,SAAA;EACA,oBAAA;EEjLI,kBALI;EFwLR,oBAAA;AH7GF;;AGkHA;;EAEE,oBAAA;AH/GF;;AGqHA;EACE,eAAA;AHlHF;;AGwHA;EACE,iBAAA;AHrHF;;AG2HA;EACE,aAAA;AHxHF;;AGgIA;;;;EAIE,0BAAA;AH7HF;AGgII;;;;EACE,eAAA;AH3HN;;AGkIA;EACE,UAAA;EACA,kBAAA;AH/HF;;AGoIA;EACE,gBAAA;AHjIF;;AG2IA;EACE,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;AHxIF;;AGgJA;EACE,WAAA;EACA,WAAA;EACA,UAAA;EACA,qBCnC4B;ECjOtB,iCAAA;EFuQN,oBAAA;AH9IF;AK3RI;EFkaJ;IEzPQ,iBAAA;ELsHN;AACF;AG2IE;EACE,WAAA;AHzIJ;;AGgJA;;;;;;;EAOE,UAAA;AH7IF;;AGgJA;EACE,YAAA;AH7IF;;AGsJA;EACE,oBAAA;EACA,6BAAA;AHnJF;;AGwJA;EACE,wBAAA;AHrJF;;AG0JA;EACE,UAAA;AHvJF;;AG8JA;EACE,aAAA;AH3JF;;AGiKA;EACE,aAAA;EACA,0BAAA;AH9JF;;AGmKA;EACE,qBAAA;AHhKF;;AGqKA;EACE,SAAA;AHlKF;;AGyKA;EACE,kBAAA;EACA,eAAA;AHtKF;;AG8KA;EACE,wBAAA;AH3KF;;AGmLA;EACE,wBAAA;AHhLF;;AO7ZA;EF+NM,kBALI;EExNR,gBH8a4B;AJd9B;;AO3ZE;EF4NM,iCAAA;EE1NJ,gBHkakB;EGjalB,gBHoZ0B;AJU9B;AKvWI;EE1DF;IFmOM,eAAA;ELkMN;AACF;;AOtaE;EF4NM,iCAAA;EE1NJ,gBHkakB;EGjalB,gBHoZ0B;AJqB9B;AKlXI;EE1DF;IFmOM,iBAAA;EL6MN;AACF;;AOjbE;EF4NM,iCAAA;EE1NJ,gBHkakB;EGjalB,gBHoZ0B;AJgC9B;AK7XI;EE1DF;IFmOM,eAAA;ELwNN;AACF;;AO5bE;EF4NM,iCAAA;EE1NJ,gBHkakB;EGjalB,gBHoZ0B;AJ2C9B;AKxYI;EE1DF;IFmOM,iBAAA;ELmON;AACF;;AOvcE;EF4NM,iCAAA;EE1NJ,gBHkakB;EGjalB,gBHoZ0B;AJsD9B;AKnZI;EE1DF;IFmOM,eAAA;EL8ON;AACF;;AOldE;EF4NM,iCAAA;EE1NJ,gBHkakB;EGjalB,gBHoZ0B;AJiE9B;AK9ZI;EE1DF;IFmOM,iBAAA;ELyPN;AACF;;AOvcA;ECrDE,eAAA;EACA,gBAAA;ARggBF;;AOvcA;EC1DE,eAAA;EACA,gBAAA;ARqgBF;;AOzcA;EACE,qBAAA;AP4cF;AO1cE;EACE,oBHqa0B;AJuC9B;;AOlcA;EF4KM,kBALI;EErKR,yBAAA;APqcF;;AOjcA;EACE,mBHwJO;ECaH,kBALI;ALqSV;AOlcE;EACE,gBAAA;APocJ;;AOhcA;EACE,iBAAA;EACA,mBH8IO;ECaH,kBALI;EEpJR,cHrFS;AJwhBX;AOjcE;EACE,aAAA;APmcJ;;ASjiBA;ECIE,eAAA;EAGA,YAAA;AV+hBF;;AShiBA;EACE,gBLgsCkC;EK/rClC,sBLRS;EKST,yBAAA;EHEE,sBAAA;EIPF,eAAA;EAGA,YAAA;AVwiBF;;AS1hBA;EAEE,qBAAA;AT4hBF;;ASzhBA;EACE,qBAAA;EACA,cAAA;AT4hBF;;ASzhBA;EJqNM,kBALI;EI9MR,cL3BS;AJujBX;;AW9jBE;;;;;;;ECHA,qBAAA;EAEA,WAAA;EACA,2CAAA;EACA,0CAAA;EACA,kBAAA;EACA,iBAAA;AZ0kBF;;AaphBI;EF5CE;IACE,gBPuSe;EJ6RrB;AACF;Aa1hBI;EF5CE;IACE,gBPuSe;EJkSrB;AACF;Aa/hBI;EF5CE;IACE,gBPuSe;EJuSrB;AACF;AapiBI;EF5CE;IACE,iBPuSe;EJ4SrB;AACF;AaziBI;EF5CE;IACE,iBPuSe;EJiTrB;AACF;AcxmBE;ECAA,qBAAA;EACA,gBAAA;EACA,aAAA;EACA,eAAA;EACA,yCAAA;EACA,2CAAA;EACA,0CAAA;Af2mBF;Ac9mBI;ECYF,cAAA;EACA,WAAA;EACA,eAAA;EACA,2CAAA;EACA,0CAAA;EACA,8BAAA;AfqmBF;;Ae5jBM;EACE,YAAA;Af+jBR;;Ae5jBM;EApCJ,cAAA;EACA,WAAA;AfomBF;;AetlBE;EACE,cAAA;EACA,WAAA;AfylBJ;;Ae3lBE;EACE,cAAA;EACA,UAAA;Af8lBJ;;AehmBE;EACE,cAAA;EACA,qBAAA;AfmmBJ;;AermBE;EACE,cAAA;EACA,UAAA;AfwmBJ;;Ae1mBE;EACE,cAAA;EACA,UAAA;Af6mBJ;;Ae/mBE;EACE,cAAA;EACA,qBAAA;AfknBJ;;AenlBM;EAhDJ,cAAA;EACA,WAAA;AfuoBF;;AellBU;EA3DR,cAAA;EACA,oBAAA;AfipBF;;AevlBU;EA3DR,cAAA;EACA,qBAAA;AfspBF;;Ae5lBU;EA3DR,cAAA;EACA,UAAA;Af2pBF;;AejmBU;EA3DR,cAAA;EACA,qBAAA;AfgqBF;;AetmBU;EA3DR,cAAA;EACA,qBAAA;AfqqBF;;Ae3mBU;EA3DR,cAAA;EACA,UAAA;Af0qBF;;AehnBU;EA3DR,cAAA;EACA,qBAAA;Af+qBF;;AernBU;EA3DR,cAAA;EACA,qBAAA;AforBF;;Ae1nBU;EA3DR,cAAA;EACA,UAAA;AfyrBF;;Ae/nBU;EA3DR,cAAA;EACA,qBAAA;Af8rBF;;AepoBU;EA3DR,cAAA;EACA,qBAAA;AfmsBF;;AezoBU;EA3DR,cAAA;EACA,WAAA;AfwsBF;;AetoBY;EAxDV,0BAAA;AfksBF;;Ae1oBY;EAxDV,2BAAA;AfssBF;;Ae9oBY;EAxDV,gBAAA;Af0sBF;;AelpBY;EAxDV,2BAAA;Af8sBF;;AetpBY;EAxDV,2BAAA;AfktBF;;Ae1pBY;EAxDV,gBAAA;AfstBF;;Ae9pBY;EAxDV,2BAAA;Af0tBF;;AelqBY;EAxDV,2BAAA;Af8tBF;;AetqBY;EAxDV,gBAAA;AfkuBF;;Ae1qBY;EAxDV,2BAAA;AfsuBF;;Ae9qBY;EAxDV,2BAAA;Af0uBF;;AevqBQ;;EAEE,gBAAA;Af0qBV;;AevqBQ;;EAEE,gBAAA;Af0qBV;;AejrBQ;;EAEE,sBAAA;AforBV;;AejrBQ;;EAEE,sBAAA;AforBV;;Ae3rBQ;;EAEE,qBAAA;Af8rBV;;Ae3rBQ;;EAEE,qBAAA;Af8rBV;;AersBQ;;EAEE,mBAAA;AfwsBV;;AersBQ;;EAEE,mBAAA;AfwsBV;;Ae/sBQ;;EAEE,qBAAA;AfktBV;;Ae/sBQ;;EAEE,qBAAA;AfktBV;;AeztBQ;;EAEE,mBAAA;Af4tBV;;AeztBQ;;EAEE,mBAAA;Af4tBV;;Aa/wBI;EEGE;IACE,YAAA;EfgxBN;;Ee7wBI;IApCJ,cAAA;IACA,WAAA;EfqzBA;;EevyBA;IACE,cAAA;IACA,WAAA;Ef0yBF;;Ee5yBA;IACE,cAAA;IACA,UAAA;Ef+yBF;;EejzBA;IACE,cAAA;IACA,qBAAA;EfozBF;;EetzBA;IACE,cAAA;IACA,UAAA;EfyzBF;;Ee3zBA;IACE,cAAA;IACA,UAAA;Ef8zBF;;Eeh0BA;IACE,cAAA;IACA,qBAAA;Efm0BF;;EepyBI;IAhDJ,cAAA;IACA,WAAA;Efw1BA;;EenyBQ;IA3DR,cAAA;IACA,oBAAA;Efk2BA;;EexyBQ;IA3DR,cAAA;IACA,qBAAA;Efu2BA;;Ee7yBQ;IA3DR,cAAA;IACA,UAAA;Ef42BA;;EelzBQ;IA3DR,cAAA;IACA,qBAAA;Efi3BA;;EevzBQ;IA3DR,cAAA;IACA,qBAAA;Efs3BA;;Ee5zBQ;IA3DR,cAAA;IACA,UAAA;Ef23BA;;Eej0BQ;IA3DR,cAAA;IACA,qBAAA;Efg4BA;;Eet0BQ;IA3DR,cAAA;IACA,qBAAA;Efq4BA;;Ee30BQ;IA3DR,cAAA;IACA,UAAA;Ef04BA;;Eeh1BQ;IA3DR,cAAA;IACA,qBAAA;Ef+4BA;;Eer1BQ;IA3DR,cAAA;IACA,qBAAA;Efo5BA;;Ee11BQ;IA3DR,cAAA;IACA,WAAA;Efy5BA;;Eev1BU;IAxDV,cAAA;Efm5BA;;Ee31BU;IAxDV,0BAAA;Efu5BA;;Ee/1BU;IAxDV,2BAAA;Ef25BA;;Een2BU;IAxDV,gBAAA;Ef+5BA;;Eev2BU;IAxDV,2BAAA;Efm6BA;;Ee32BU;IAxDV,2BAAA;Efu6BA;;Ee/2BU;IAxDV,gBAAA;Ef26BA;;Een3BU;IAxDV,2BAAA;Ef+6BA;;Eev3BU;IAxDV,2BAAA;Efm7BA;;Ee33BU;IAxDV,gBAAA;Efu7BA;;Ee/3BU;IAxDV,2BAAA;Ef27BA;;Een4BU;IAxDV,2BAAA;Ef+7BA;;Ee53BM;;IAEE,gBAAA;Ef+3BR;;Ee53BM;;IAEE,gBAAA;Ef+3BR;;Eet4BM;;IAEE,sBAAA;Efy4BR;;Eet4BM;;IAEE,sBAAA;Efy4BR;;Eeh5BM;;IAEE,qBAAA;Efm5BR;;Eeh5BM;;IAEE,qBAAA;Efm5BR;;Ee15BM;;IAEE,mBAAA;Ef65BR;;Ee15BM;;IAEE,mBAAA;Ef65BR;;Eep6BM;;IAEE,qBAAA;Efu6BR;;Eep6BM;;IAEE,qBAAA;Efu6BR;;Ee96BM;;IAEE,mBAAA;Efi7BR;;Ee96BM;;IAEE,mBAAA;Efi7BR;AACF;Aar+BI;EEGE;IACE,YAAA;Efq+BN;;Eel+BI;IApCJ,cAAA;IACA,WAAA;Ef0gCA;;Ee5/BA;IACE,cAAA;IACA,WAAA;Ef+/BF;;EejgCA;IACE,cAAA;IACA,UAAA;EfogCF;;EetgCA;IACE,cAAA;IACA,qBAAA;EfygCF;;Ee3gCA;IACE,cAAA;IACA,UAAA;Ef8gCF;;EehhCA;IACE,cAAA;IACA,UAAA;EfmhCF;;EerhCA;IACE,cAAA;IACA,qBAAA;EfwhCF;;Eez/BI;IAhDJ,cAAA;IACA,WAAA;Ef6iCA;;Eex/BQ;IA3DR,cAAA;IACA,oBAAA;EfujCA;;Ee7/BQ;IA3DR,cAAA;IACA,qBAAA;Ef4jCA;;EelgCQ;IA3DR,cAAA;IACA,UAAA;EfikCA;;EevgCQ;IA3DR,cAAA;IACA,qBAAA;EfskCA;;Ee5gCQ;IA3DR,cAAA;IACA,qBAAA;Ef2kCA;;EejhCQ;IA3DR,cAAA;IACA,UAAA;EfglCA;;EethCQ;IA3DR,cAAA;IACA,qBAAA;EfqlCA;;Ee3hCQ;IA3DR,cAAA;IACA,qBAAA;Ef0lCA;;EehiCQ;IA3DR,cAAA;IACA,UAAA;Ef+lCA;;EeriCQ;IA3DR,cAAA;IACA,qBAAA;EfomCA;;Ee1iCQ;IA3DR,cAAA;IACA,qBAAA;EfymCA;;Ee/iCQ;IA3DR,cAAA;IACA,WAAA;Ef8mCA;;Ee5iCU;IAxDV,cAAA;EfwmCA;;EehjCU;IAxDV,0BAAA;Ef4mCA;;EepjCU;IAxDV,2BAAA;EfgnCA;;EexjCU;IAxDV,gBAAA;EfonCA;;Ee5jCU;IAxDV,2BAAA;EfwnCA;;EehkCU;IAxDV,2BAAA;Ef4nCA;;EepkCU;IAxDV,gBAAA;EfgoCA;;EexkCU;IAxDV,2BAAA;EfooCA;;Ee5kCU;IAxDV,2BAAA;EfwoCA;;EehlCU;IAxDV,gBAAA;Ef4oCA;;EeplCU;IAxDV,2BAAA;EfgpCA;;EexlCU;IAxDV,2BAAA;EfopCA;;EejlCM;;IAEE,gBAAA;EfolCR;;EejlCM;;IAEE,gBAAA;EfolCR;;Ee3lCM;;IAEE,sBAAA;Ef8lCR;;Ee3lCM;;IAEE,sBAAA;Ef8lCR;;EermCM;;IAEE,qBAAA;EfwmCR;;EermCM;;IAEE,qBAAA;EfwmCR;;Ee/mCM;;IAEE,mBAAA;EfknCR;;Ee/mCM;;IAEE,mBAAA;EfknCR;;EeznCM;;IAEE,qBAAA;Ef4nCR;;EeznCM;;IAEE,qBAAA;Ef4nCR;;EenoCM;;IAEE,mBAAA;EfsoCR;;EenoCM;;IAEE,mBAAA;EfsoCR;AACF;Aa1rCI;EEGE;IACE,YAAA;Ef0rCN;;EevrCI;IApCJ,cAAA;IACA,WAAA;Ef+tCA;;EejtCA;IACE,cAAA;IACA,WAAA;EfotCF;;EettCA;IACE,cAAA;IACA,UAAA;EfytCF;;Ee3tCA;IACE,cAAA;IACA,qBAAA;Ef8tCF;;EehuCA;IACE,cAAA;IACA,UAAA;EfmuCF;;EeruCA;IACE,cAAA;IACA,UAAA;EfwuCF;;Ee1uCA;IACE,cAAA;IACA,qBAAA;Ef6uCF;;Ee9sCI;IAhDJ,cAAA;IACA,WAAA;EfkwCA;;Ee7sCQ;IA3DR,cAAA;IACA,oBAAA;Ef4wCA;;EeltCQ;IA3DR,cAAA;IACA,qBAAA;EfixCA;;EevtCQ;IA3DR,cAAA;IACA,UAAA;EfsxCA;;Ee5tCQ;IA3DR,cAAA;IACA,qBAAA;Ef2xCA;;EejuCQ;IA3DR,cAAA;IACA,qBAAA;EfgyCA;;EetuCQ;IA3DR,cAAA;IACA,UAAA;EfqyCA;;Ee3uCQ;IA3DR,cAAA;IACA,qBAAA;Ef0yCA;;EehvCQ;IA3DR,cAAA;IACA,qBAAA;Ef+yCA;;EervCQ;IA3DR,cAAA;IACA,UAAA;EfozCA;;Ee1vCQ;IA3DR,cAAA;IACA,qBAAA;EfyzCA;;Ee/vCQ;IA3DR,cAAA;IACA,qBAAA;Ef8zCA;;EepwCQ;IA3DR,cAAA;IACA,WAAA;Efm0CA;;EejwCU;IAxDV,cAAA;Ef6zCA;;EerwCU;IAxDV,0BAAA;Efi0CA;;EezwCU;IAxDV,2BAAA;Efq0CA;;Ee7wCU;IAxDV,gBAAA;Efy0CA;;EejxCU;IAxDV,2BAAA;Ef60CA;;EerxCU;IAxDV,2BAAA;Efi1CA;;EezxCU;IAxDV,gBAAA;Efq1CA;;Ee7xCU;IAxDV,2BAAA;Efy1CA;;EejyCU;IAxDV,2BAAA;Ef61CA;;EeryCU;IAxDV,gBAAA;Efi2CA;;EezyCU;IAxDV,2BAAA;Efq2CA;;Ee7yCU;IAxDV,2BAAA;Efy2CA;;EetyCM;;IAEE,gBAAA;EfyyCR;;EetyCM;;IAEE,gBAAA;EfyyCR;;EehzCM;;IAEE,sBAAA;EfmzCR;;EehzCM;;IAEE,sBAAA;EfmzCR;;Ee1zCM;;IAEE,qBAAA;Ef6zCR;;Ee1zCM;;IAEE,qBAAA;Ef6zCR;;Eep0CM;;IAEE,mBAAA;Efu0CR;;Eep0CM;;IAEE,mBAAA;Efu0CR;;Ee90CM;;IAEE,qBAAA;Efi1CR;;Ee90CM;;IAEE,qBAAA;Efi1CR;;Eex1CM;;IAEE,mBAAA;Ef21CR;;Eex1CM;;IAEE,mBAAA;Ef21CR;AACF;Aa/4CI;EEGE;IACE,YAAA;Ef+4CN;;Ee54CI;IApCJ,cAAA;IACA,WAAA;Efo7CA;;Eet6CA;IACE,cAAA;IACA,WAAA;Efy6CF;;Ee36CA;IACE,cAAA;IACA,UAAA;Ef86CF;;Eeh7CA;IACE,cAAA;IACA,qBAAA;Efm7CF;;Eer7CA;IACE,cAAA;IACA,UAAA;Efw7CF;;Ee17CA;IACE,cAAA;IACA,UAAA;Ef67CF;;Ee/7CA;IACE,cAAA;IACA,qBAAA;Efk8CF;;Een6CI;IAhDJ,cAAA;IACA,WAAA;Efu9CA;;Eel6CQ;IA3DR,cAAA;IACA,oBAAA;Efi+CA;;Eev6CQ;IA3DR,cAAA;IACA,qBAAA;Efs+CA;;Ee56CQ;IA3DR,cAAA;IACA,UAAA;Ef2+CA;;Eej7CQ;IA3DR,cAAA;IACA,qBAAA;Efg/CA;;Eet7CQ;IA3DR,cAAA;IACA,qBAAA;Efq/CA;;Ee37CQ;IA3DR,cAAA;IACA,UAAA;Ef0/CA;;Eeh8CQ;IA3DR,cAAA;IACA,qBAAA;Ef+/CA;;Eer8CQ;IA3DR,cAAA;IACA,qBAAA;EfogDA;;Ee18CQ;IA3DR,cAAA;IACA,UAAA;EfygDA;;Ee/8CQ;IA3DR,cAAA;IACA,qBAAA;Ef8gDA;;Eep9CQ;IA3DR,cAAA;IACA,qBAAA;EfmhDA;;Eez9CQ;IA3DR,cAAA;IACA,WAAA;EfwhDA;;Eet9CU;IAxDV,cAAA;EfkhDA;;Ee19CU;IAxDV,0BAAA;EfshDA;;Ee99CU;IAxDV,2BAAA;Ef0hDA;;Eel+CU;IAxDV,gBAAA;Ef8hDA;;Eet+CU;IAxDV,2BAAA;EfkiDA;;Ee1+CU;IAxDV,2BAAA;EfsiDA;;Ee9+CU;IAxDV,gBAAA;Ef0iDA;;Eel/CU;IAxDV,2BAAA;Ef8iDA;;Eet/CU;IAxDV,2BAAA;EfkjDA;;Ee1/CU;IAxDV,gBAAA;EfsjDA;;Ee9/CU;IAxDV,2BAAA;Ef0jDA;;EelgDU;IAxDV,2BAAA;Ef8jDA;;Ee3/CM;;IAEE,gBAAA;Ef8/CR;;Ee3/CM;;IAEE,gBAAA;Ef8/CR;;EergDM;;IAEE,sBAAA;EfwgDR;;EergDM;;IAEE,sBAAA;EfwgDR;;Ee/gDM;;IAEE,qBAAA;EfkhDR;;Ee/gDM;;IAEE,qBAAA;EfkhDR;;EezhDM;;IAEE,mBAAA;Ef4hDR;;EezhDM;;IAEE,mBAAA;Ef4hDR;;EeniDM;;IAEE,qBAAA;EfsiDR;;EeniDM;;IAEE,qBAAA;EfsiDR;;Ee7iDM;;IAEE,mBAAA;EfgjDR;;Ee7iDM;;IAEE,mBAAA;EfgjDR;AACF;AapmDI;EEGE;IACE,YAAA;EfomDN;;EejmDI;IApCJ,cAAA;IACA,WAAA;EfyoDA;;Ee3nDA;IACE,cAAA;IACA,WAAA;Ef8nDF;;EehoDA;IACE,cAAA;IACA,UAAA;EfmoDF;;EeroDA;IACE,cAAA;IACA,qBAAA;EfwoDF;;Ee1oDA;IACE,cAAA;IACA,UAAA;Ef6oDF;;Ee/oDA;IACE,cAAA;IACA,UAAA;EfkpDF;;EeppDA;IACE,cAAA;IACA,qBAAA;EfupDF;;EexnDI;IAhDJ,cAAA;IACA,WAAA;Ef4qDA;;EevnDQ;IA3DR,cAAA;IACA,oBAAA;EfsrDA;;Ee5nDQ;IA3DR,cAAA;IACA,qBAAA;Ef2rDA;;EejoDQ;IA3DR,cAAA;IACA,UAAA;EfgsDA;;EetoDQ;IA3DR,cAAA;IACA,qBAAA;EfqsDA;;Ee3oDQ;IA3DR,cAAA;IACA,qBAAA;Ef0sDA;;EehpDQ;IA3DR,cAAA;IACA,UAAA;Ef+sDA;;EerpDQ;IA3DR,cAAA;IACA,qBAAA;EfotDA;;Ee1pDQ;IA3DR,cAAA;IACA,qBAAA;EfytDA;;Ee/pDQ;IA3DR,cAAA;IACA,UAAA;Ef8tDA;;EepqDQ;IA3DR,cAAA;IACA,qBAAA;EfmuDA;;EezqDQ;IA3DR,cAAA;IACA,qBAAA;EfwuDA;;Ee9qDQ;IA3DR,cAAA;IACA,WAAA;Ef6uDA;;Ee3qDU;IAxDV,cAAA;EfuuDA;;Ee/qDU;IAxDV,0BAAA;Ef2uDA;;EenrDU;IAxDV,2BAAA;Ef+uDA;;EevrDU;IAxDV,gBAAA;EfmvDA;;Ee3rDU;IAxDV,2BAAA;EfuvDA;;Ee/rDU;IAxDV,2BAAA;Ef2vDA;;EensDU;IAxDV,gBAAA;Ef+vDA;;EevsDU;IAxDV,2BAAA;EfmwDA;;Ee3sDU;IAxDV,2BAAA;EfuwDA;;Ee/sDU;IAxDV,gBAAA;Ef2wDA;;EentDU;IAxDV,2BAAA;Ef+wDA;;EevtDU;IAxDV,2BAAA;EfmxDA;;EehtDM;;IAEE,gBAAA;EfmtDR;;EehtDM;;IAEE,gBAAA;EfmtDR;;Ee1tDM;;IAEE,sBAAA;Ef6tDR;;Ee1tDM;;IAEE,sBAAA;Ef6tDR;;EepuDM;;IAEE,qBAAA;EfuuDR;;EepuDM;;IAEE,qBAAA;EfuuDR;;Ee9uDM;;IAEE,mBAAA;EfivDR;;Ee9uDM;;IAEE,mBAAA;EfivDR;;EexvDM;;IAEE,qBAAA;Ef2vDR;;EexvDM;;IAEE,qBAAA;Ef2vDR;;EelwDM;;IAEE,mBAAA;EfqwDR;;EelwDM;;IAEE,mBAAA;EfqwDR;AACF;AgBp3DA;EACE,0BAAA;EACA,iCAAA;EACA,iCAAA;EACA,0CAAA;EACA,gCAAA;EACA,wCAAA;EACA,+BAAA;EACA,yCAAA;EAEA,WAAA;EACA,mBZ+NO;EY9NP,cAAA;EACA,mBZwe4B;EYve5B,qBZRS;AJ63DX;AgB92DE;EACE,sBAAA;EACA,oCAAA;EACA,uFAAA;EACA,wBZ6T0B;AJmjD9B;AgB72DE;EACE,uBAAA;AhB+2DJ;AgB52DE;EACE,sBAAA;AhB82DJ;AgB12DE;EACE,iCZwe0B;AJo4C9B;;AgBn2DA;EACE,iBAAA;AhBs2DF;;AgB51DE;EACE,wBAAA;AhB+1DJ;;AgBh1DE;EACE,mBAAA;AhBm1DJ;AgBh1DI;EACE,mBAAA;AhBk1DN;;AgB30DE;EACE,sBAAA;AhB80DJ;;AgBr0DE;EACE,gDAAA;EACA,oCAAA;AhBw0DJ;;AgBh0DA;EACE,+CAAA;EACA,mCAAA;AhBm0DF;;AgB3zDE;EACE,8CAAA;EACA,kCAAA;AhB8zDJ;;AiBt7DE;EAME,sBAAA;EACA,8BAAA;EACA,8BAAA;EACA,6BAAA;EACA,6BAAA;EACA,4BAAA;EACA,4BAAA;EAEA,WAbQ;EAcR,qBAAA;AjBm7DJ;;AiBl8DE;EAME,sBAAA;EACA,8BAAA;EACA,8BAAA;EACA,6BAAA;EACA,6BAAA;EACA,4BAAA;EACA,4BAAA;EAEA,WAbQ;EAcR,qBAAA;AjB+7DJ;;AiB98DE;EAME,sBAAA;EACA,8BAAA;EACA,8BAAA;EACA,6BAAA;EACA,6BAAA;EACA,4BAAA;EACA,4BAAA;EAEA,WAbQ;EAcR,qBAAA;AjB28DJ;;AiB19DE;EAME,sBAAA;EACA,8BAAA;EACA,8BAAA;EACA,6BAAA;EACA,6BAAA;EACA,4BAAA;EACA,4BAAA;EAEA,WAbQ;EAcR,qBAAA;AjBu9DJ;;AiBt+DE;EAME,sBAAA;EACA,8BAAA;EACA,8BAAA;EACA,6BAAA;EACA,6BAAA;EACA,4BAAA;EACA,4BAAA;EAEA,WAbQ;EAcR,qBAAA;AjBm+DJ;;AiBl/DE;EAME,sBAAA;EACA,8BAAA;EACA,8BAAA;EACA,6BAAA;EACA,6BAAA;EACA,4BAAA;EACA,4BAAA;EAEA,WAbQ;EAcR,qBAAA;AjB++DJ;;AiB9/DE;EAME,sBAAA;EACA,8BAAA;EACA,8BAAA;EACA,6BAAA;EACA,6BAAA;EACA,4BAAA;EACA,4BAAA;EAEA,WAbQ;EAcR,qBAAA;AjB2/DJ;;AiB1gEE;EAME,sBAAA;EACA,8BAAA;EACA,8BAAA;EACA,6BAAA;EACA,6BAAA;EACA,4BAAA;EACA,4BAAA;EAEA,WAbQ;EAcR,qBAAA;AjBugEJ;;AgBv4DI;EACE,gBAAA;EACA,iCAAA;AhB04DN;;Aaj9DI;EGqEA;IACE,gBAAA;IACA,iCAAA;EhBg5DJ;AACF;Aax9DI;EGqEA;IACE,gBAAA;IACA,iCAAA;EhBs5DJ;AACF;Aa99DI;EGqEA;IACE,gBAAA;IACA,iCAAA;EhB45DJ;AACF;Aap+DI;EGqEA;IACE,gBAAA;IACA,iCAAA;EhBk6DJ;AACF;Aa1+DI;EGqEA;IACE,gBAAA;IACA,iCAAA;EhBw6DJ;AACF;AkBxjEA;EACE,qBd0mBsC;AJg9CxC;;AkBjjEA;EACE,iCAAA;EACA,oCAAA;EACA,gBAAA;Eb0OI,kBALI;EajOR,gBd2Y4B;AJuqD9B;;AkB9iEA;EACE,+BAAA;EACA,kCAAA;EbgOI,kBALI;ALu1DV;;AkB9iEA;EACE,gCAAA;EACA,mCAAA;Eb0NI,mBALI;AL61DV;;AmB/kEA;EACE,mBfomBsC;EC9WlC,kBALI;Ec7OR,cfIS;AJ4kEX;;AoBrlEA;EACE,cAAA;EACA,WAAA;EACA,yBAAA;EfoPI,eALI;Ee5OR,gBhBgZ4B;EgB/Y5B,gBhBqZ4B;EgBpZ5B,chBIS;EgBHT,sBhBNS;EgBOT,4BAAA;EACA,yBAAA;EACA,wBAAA;EAAA,qBAAA;EAAA,gBAAA;EdEE,sBAAA;EeFE,wEDMJ;ApBmlEF;AqBrlEM;EDhBN;ICiBQ,gBAAA;ErBwlEN;AACF;AoBtlEE;EACE,gBAAA;ApBwlEJ;AoBtlEI;EACE,eAAA;ApBwlEN;AoBnlEE;EACE,chBlBO;EgBmBP,sBhB5BO;EgB6BP,qBhB8mBoC;EgB7mBpC,UAAA;EAKE,kDhBwgB0B;AJykDhC;AoB1kEE;EAEE,aAAA;ApB2kEJ;AoBvkEE;EACE,chB3CO;EgB6CP,UAAA;ApBwkEJ;AoB3kEE;EACE,chB3CO;EgB6CP,UAAA;ApBwkEJ;AoB3kEE;EACE,chB3CO;EgB6CP,UAAA;ApBwkEJ;AoBhkEE;EAEE,yBhB3DO;EgB8DP,UAAA;ApB+jEJ;AoB1jEE;EACE,yBAAA;EACA,0BAAA;EACA,2BhB2d0B;EgB3d1B,0BhB2d0B;EgB1d1B,chBhEO;EkBbT,yBlBMS;EgByEP,oBAAA;EACA,qBAAA;EACA,mBAAA;EACA,eAAA;EACA,4BhBoQ0B;EgBnQ1B,gBAAA;ECvEE,qIDwEF;ApB4jEJ;AqBhoEM;EDwDJ;ICvDM,gBAAA;ErBmoEN;AACF;AoB7jEE;EACE,yBhB2rB8B;AJo4ClC;AoB5jEE;EACE,yBAAA;EACA,0BAAA;EACA,2BhBuc0B;EgBvc1B,0BhBuc0B;EgBtc1B,chBpFO;EkBbT,yBlBMS;EgB6FP,oBAAA;EACA,qBAAA;EACA,mBAAA;EACA,eAAA;EACA,4BhBgP0B;EgB/O1B,gBAAA;EC3FE,6ID4FF;EC5FE,qID4FF;ApB8jEJ;AqBtpEM;ED4EJ;IC3EM,wBAAA;IAAA,gBAAA;ErBypEN;AACF;AoBhkEE;EACE,yBhBwqB8B;AJ05ClC;;AoBzjEA;EACE,cAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBhBkS4B;EgBjS5B,chB/GS;EgBgHT,6BAAA;EACA,yBAAA;EACA,mBAAA;ApB4jEF;AoB1jEE;EAEE,gBAAA;EACA,eAAA;ApB2jEJ;;AoBhjEA;EACE,sChB8gBsC;EgB7gBtC,uBAAA;EfuGI,mBALI;ECpON,qBAAA;ANurEJ;AoBhjEE;EACE,uBAAA;EACA,wBAAA;EACA,0BhByZ0B;EgBzZ1B,yBhByZ0B;AJypD9B;AoB/iEE;EACE,uBAAA;EACA,wBAAA;EACA,0BhBmZ0B;EgBnZ1B,yBhBmZ0B;AJ8pD9B;;AoB7iEA;EACE,oChB2fsC;EgB1ftC,oBAAA;EfmFI,kBALI;ECpON,qBAAA;ANwsEJ;AoB7iEE;EACE,oBAAA;EACA,qBAAA;EACA,wBhByY0B;EgBzY1B,uBhByY0B;AJsqD9B;AoB5iEE;EACE,oBAAA;EACA,qBAAA;EACA,wBhBmY0B;EgBnY1B,uBhBmY0B;AJ2qD9B;;AoBtiEE;EACE,uChBieoC;AJwkDxC;AoBtiEE;EACE,sChB8doC;AJ0kDxC;AoBriEE;EACE,oChB2doC;AJ4kDxC;;AoBliEA;EACE,eAAA;EACA,YAAA;EACA,iBhB0V4B;AJ2sD9B;AoBniEE;EACE,eAAA;ApBqiEJ;AoBliEE;EACE,aAAA;EdpMA,sBAAA;ANyuEJ;AoBjiEE;EACE,aAAA;EdzMA,sBAAA;AN6uEJ;;AuB1vEA;EACE,cAAA;EACA,WAAA;EACA,0CAAA;ElBmPI,eALI;EkB3OR,gBnB+Y4B;EmB9Y5B,gBnBoZ4B;EmBnZ5B,cnBGS;EmBFT,sBAAA;EACA,sBnBRS;EmBST,iPAAA;EACA,4BAAA;EACA,yCnButBkC;EmBttBlC,0BnButBkC;EmBttBlC,yBAAA;EjBFE,sBAAA;EiBKF,wBAAA;EAAA,qBAAA;EAAA,gBAAA;AvB2vEF;AuBzvEE;EACE,qBnBwnBoC;EmBvnBpC,UAAA;EAKE,kDnBytB4B;AJ8hDlC;AuBnvEE;EAEE,sBnBogB0B;EmBngB1B,sBAAA;AvBovEJ;AuBjvEE;EACE,cnB9BO;EmB+BP,yBnBnCO;AJsxEX;AuB9uEE;EACE,kBAAA;EACA,0BAAA;AvBgvEJ;;AuB5uEA;EACE,oBnB4f4B;EmB3f5B,uBnB2f4B;EmB1f5B,oBnB2f4B;EC1TxB,mBALI;ALojEV;;AuB5uEA;EACE,mBnByf4B;EmBxf5B,sBnBwf4B;EmBvf5B,kBnBwf4B;EC9TxB,kBALI;AL2jEV;;AwB7yEA;EACE,cAAA;EACA,kBpBkqBwC;EoBjqBxC,mBpBkqBwC;EoBjqBxC,uBpBkqBwC;AJ8oD1C;AwB9yEE;EACE,WAAA;EACA,mBAAA;AxBgzEJ;;AwB5yEA;EACE,UpBspBwC;EoBrpBxC,WpBqpBwC;EoBppBxC,kBAAA;EACA,mBAAA;EACA,sBpBdS;EoBeT,4BAAA;EACA,2BAAA;EACA,wBAAA;EACA,qCpBypBwC;EoBxpBxC,wBAAA;EAAA,qBAAA;EAAA,gBAAA;EACA,iCAAA;EAAA,mBAAA;EHXI,mJGYJ;AxB+yEF;AqBvzEM;EGJN;IHKQ,gBAAA;ErB0zEN;AACF;AwBlzEE;ElBZE,qBAAA;ANi0EJ;AwBjzEE;EAEE,kBpBgpBsC;AJkqD1C;AwB/yEE;EACE,uBpBuoBsC;AJ0qD1C;AwB9yEE;EACE,qBpBsmBoC;EoBrmBpC,UAAA;EACA,kDpBogB4B;AJ4yDhC;AwB7yEE;EACE,yBpBjBM;EoBkBN,qBpBlBM;AJi0EV;AwB7yEI;EAII,+OAAA;AxB4yER;AwBxyEI;EAII,uJAAA;AxBuyER;AwBlyEE;EACE,yBpBtCM;EoBuCN,qBpBvCM;EoB4CJ,yOAAA;AxBgyEN;AwB5xEE;EACE,oBAAA;EACA,YAAA;EACA,YpB+mBuC;AJ+qD3C;AwBvxEI;EACE,YpBumBqC;AJkrD3C;;AwB3wEA;EACE,mBpB8lBgC;AJgrDlC;AwB5wEE;EACE,UpB0lB8B;EoBzlB9B,mBAAA;EACA,wKAAA;EACA,gCAAA;ElB/FA,kBAAA;AN82EJ;AwB5wEI;EACE,0JAAA;AxB8wEN;AwB3wEI;EACE,iCpBylB4B;EoBplB1B,uJAAA;AxBywER;;AwBnwEA;EACE,qBAAA;EACA,kBpB8kBsC;AJwrDxC;;AwBnwEA;EACE,kBAAA;EACA,sBAAA;EACA,oBAAA;AxBswEF;AwBlwEI;EACE,oBAAA;EACA,YAAA;EACA,apBqcwB;AJ+zD9B;;AyBj5EA;EACE,WAAA;EACA,cAAA;EACA,UAAA;EACA,6BAAA;EACA,wBAAA;EAAA,qBAAA;EAAA,gBAAA;AzBo5EF;AyBl5EE;EACE,aAAA;AzBo5EJ;AyBh5EI;EAA0B,kErB8vBa;AJqpD3C;AyBl5EI;EAA0B,kErB6vBa;AJwpD3C;AyBl5EE;EACE,SAAA;AzBo5EJ;AyBj5EE;EACE,WrB+uBuC;EqB9uBvC,YrB8uBuC;EqB7uBvC,oBAAA;EH1BF,yBlB8BQ;EqBFN,SrB8uBuC;EE3vBvC,mBAAA;EeFE,oHIkBF;EJlBE,4GIkBF;EACA,wBAAA;EAAA,gBAAA;AzBk5EJ;AqBj6EM;EIMJ;IJLM,wBAAA;IAAA,gBAAA;ErBo6EN;AACF;AyBr5EI;EHlCF,yBlB+wByC;AJ2qD3C;AyBn5EE;EACE,WrBwtB8B;EqBvtB9B,crBwtB8B;EqBvtB9B,kBAAA;EACA,erButB8B;EqBttB9B,yBrBrCO;EqBsCP,yBAAA;EnB9BA,mBAAA;ANo7EJ;AyBj5EE;EACE,WrBotBuC;EqBntBvC,YrBmtBuC;EkBvwBzC,yBlB8BQ;EqBwBN,SrBotBuC;EE3vBvC,mBAAA;EeFE,iHI4CF;EJ5CE,4GI4CF;EACA,qBAAA;EAAA,gBAAA;AzBk5EJ;AqB37EM;EIiCJ;IJhCM,qBAAA;IAAA,gBAAA;ErB87EN;AACF;AyBr5EI;EH5DF,yBlB+wByC;AJqsD3C;AyBn5EE;EACE,WrB8rB8B;EqB7rB9B,crB8rB8B;EqB7rB9B,kBAAA;EACA,erB6rB8B;EqB5rB9B,yBrB/DO;EqBgEP,yBAAA;EnBxDA,mBAAA;AN88EJ;AyBj5EE;EACE,oBAAA;AzBm5EJ;AyBj5EI;EACE,yBrBvEK;AJ09EX;AyBh5EI;EACE,yBrB3EK;AJ69EX;;A0Bz+EA;EACE,kBAAA;A1B4+EF;A0B1+EE;;EAEE,0BtBqxB8B;EsBpxB9B,qBAAA;A1B4+EJ;A0Bz+EE;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,YAAA;EACA,qBAAA;EACA,oBAAA;EACA,6BAAA;EACA,qBAAA;ELDE,gEKEF;A1B2+EJ;AqBz+EM;EKXJ;ILYM,gBAAA;ErB4+EN;AACF;A0B3+EI;EACE,kBAAA;A1B6+EN;A0B9+EI;EACE,kBAAA;A1B6+EN;A0B9+EI;EACE,kBAAA;A1B6+EN;A0B1+EI;EAEE,qBtBgwB4B;EsB/vB5B,wBtBgwB4B;AJ2uDlC;A0B9+EI;EAEE,qBtBgwB4B;EsB/vB5B,wBtBgwB4B;AJ2uDlC;A0Bx+EI;EACE,qBtB2vB4B;EsB1vB5B,wBtB2vB4B;AJ+uDlC;A0Bt+EE;EACE,qBtBqvB8B;EsBpvB9B,wBtBqvB8B;AJmvDlC;A0Bl+EI;EACE,atB+uB4B;EsB9uB5B,8DtB+uB4B;AJuvDlC;A0Bx+EI;;;EACE,atB+uB4B;EsB9uB5B,8DtB+uB4B;AJuvDlC;A0Bj+EI;EACE,atBwuB4B;EsBvuB5B,8DtBwuB4B;AJ2vDlC;;A2BvhFA;EACE,kBAAA;EACA,aAAA;EACA,eAAA;EACA,oBAAA;EACA,WAAA;A3B0hFF;A2BxhFE;;EAEE,kBAAA;EACA,cAAA;EACA,SAAA;EACA,YAAA;A3B0hFJ;A2BthFE;;EAEE,UAAA;A3BwhFJ;A2BlhFE;EACE,kBAAA;EACA,UAAA;A3BohFJ;A2BlhFI;EACE,UAAA;A3BohFN;;A2B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E,WAlCa;EAmCb,yBArCkB;EAwClB,qBAvCc;A/B8yFlB;A+BrwFI;EAKI,iDAAA;A/BmwFR;A+B9vFE;EAEE,WAjDe;EAkDf,yB3BKW;E2BFX,qB3BEW;AJ2vFf;;A8BzwFE;ECvCA,WAXQ;ETLR,yBlBqEa;E2BnDb,qB3BmDa;AJiwFf;A+BjzFE;EACE,WAdY;ETRd,yBSMmB;EAkBjB,qBAjBa;A/Bo0FjB;A+BhzFE;EAEE,WArBY;ETRd,yBSMmB;EAyBjB,qBAxBa;EA6BX,kDAAA;A/B6yFN;A+BzyFE;EAKE,WAlCa;EAmCb,yBArCkB;EAwClB,qBAvCc;A/B40FlB;A+BnyFI;EAKI,kDAAA;A/BiyFR;A+B5xFE;EAEE,WAjDe;EAkDf,yB3BKW;E2BFX,qB3BEW;AJyxFf;;A8BvyFE;ECvCA,WAXQ;ETLR,yBlBqEa;E2BnDb,qB3BmDa;AJ+xFf;A+B/0FE;EACE,WAdY;ETRd,yBSMmB;EAkBjB,qBAjBa;A/Bk2FjB;A+B90FE;EAEE,WArBY;ETRd,yBSMmB;EAyBjB,qBAxBa;EA6BX,iDAAA;A/B20FN;A+Bv0FE;EAKE,WAlCa;EAmCb,yBArCkB;EAwClB,qBAvCc;A/B02FlB;A+Bj0FI;EAKI,iDAAA;A/B+zFR;A+B1zFE;EAEE,WAjDe;EAkDf,yB3BKW;E2BFX,qB3BEW;AJuzFf;;A8Br0FE;ECvCA,WAXQ;ETLR,yBlBqEa;E2BnDb,qB3BmDa;AJ6zFf;A+B72FE;EACE,WAdY;ETRd,yBSMmB;EAkBjB,qBAjBa;A/Bg4FjB;A+B52FE;EAEE,WArBY;ETRd,yBSMmB;EAyBjB,qBAxBa;EA6BX,iDAAA;A/By2FN;A+Br2FE;EAKE,WAlCa;EAmCb,yBArCkB;EAwClB,qBAvCc;A/Bw4FlB;A+B/1FI;EAKI,iDAAA;A/B61FR;A+Bx1FE;EAEE,WAjDe;EAkDf,yB3BKW;E2BFX,qB3BEW;AJq1Ff;;A8Bn2FE;ECvCA,WAXQ;ETLR,yBlBqEa;E2BnDb,qB3BmDa;AJ21Ff;A+B34FE;EACE,WAdY;ETRd,yBSMmB;EAkBjB,qBAjBa;A/B85FjB;A+B14FE;EAEE,WArBY;ETRd,yBSMmB;EAyBjB,qBAxBa;EA6BX,gDAAA;A/Bu4FN;A+Bn4FE;EAKE,WAlCa;EAmCb,yBArCkB;EAwClB,qBAvCc;A/Bs6FlB;A+B73FI;EAKI,gDAAA;A/B23FR;A+Bt3FE;EAEE,WAjDe;EAkDf,yB3BKW;E2BFX,qB3BEW;AJm3Ff;;A8Bj4FE;ECvCA,WAXQ;ETLR,yBlBqEa;E2BnDb,qB3BmDa;AJy3Ff;A+Bz6FE;EACE,WAdY;ETRd,yBSMmB;EAkBjB,qBAjBa;A/B47FjB;A+Bx6FE;EAEE,WArBY;ETRd,yBSMmB;EAyBjB,qBAxBa;EA6BX,gDAAA;A/Bq6FN;A+Bj6FE;EAKE,WAlCa;EAmCb,yBArCkB;EAwClB,qBAvCc;A/Bo8FlB;A+B35FI;EAKI,gDAAA;A/By5FR;A+Bp5FE;EAEE,WAjDe;EAkDf,yB3BKW;E2BFX,qB3BEW;AJi5Ff;;A8B/5FE;ECvCA,WAXQ;ETLR,yBlBqEa;E2BnDb,qB3BmDa;AJu5Ff;A+Bv8FE;EACE,WAdY;ETRd,yBSMmB;EAkBjB,qBAjBa;A/B09FjB;A+Bt8FE;EAEE,WArBY;ETRd,yBSMmB;EAyBjB,qBAxBa;EA6BX,kDAAA;A/Bm8FN;A+B/7FE;EAKE,WAlCa;EAmCb,yBArCkB;EAwClB,qBAvCc;A/Bk+FlB;A+Bz7FI;EAKI,kDAAA;A/Bu7FR;A+Bl7FE;EAEE,WAjDe;EAkDf,yB3BKW;E2BFX,qB3BEW;AJ+6Ff;;A8B77FE;ECvCA,WAXQ;ETLR,yBlBqEa;E2BnDb,qB3BmDa;AJq7Ff;A+Br+FE;EACE,WAdY;ETRd,yBSMmB;EAkBjB,qBAjBa;A/Bw/FjB;A+Bp+FE;EAEE,WArBY;ETRd,yBSMmB;EAyBjB,qBAxBa;EA6BX,+CAAA;A/Bi+FN;A+B79FE;EAKE,WAlCa;EAmCb,yBArCkB;EAwClB,qBAvCc;A/BggGlB;A+Bv9FI;EAKI,+CAAA;A/Bq9FR;A+Bh9FE;EAEE,WAjDe;EAkDf,yB3BKW;E2BFX,qB3BEW;AJ68Ff;;A8Br9FE;ECiBA,c3BTa;E2BUb,qB3BVa;AJk9Ff;A+Bt8FE;EACE,WATY;EAUZ,yB3BdW;E2BeX,qB3BfW;AJu9Ff;A+Br8FE;EAEE,iDAAA;A/Bs8FJ;A+Bn8FE;EAKE,WArBa;EAsBb,yB3B7BW;E2B8BX,qB3B9BW;AJ+9Ff;A+B/7FI;EAKI,iDAAA;A/B67FR;A+Bx7FE;EAEE,c3B5CW;E2B6CX,6BAAA;A/By7FJ;;A8B9+FE;ECiBA,c3BTa;E2BUb,qB3BVa;AJ2+Ff;A+B/9FE;EACE,WATY;EAUZ,yB3BdW;E2BeX,qB3BfW;AJg/Ff;A+B99FE;EAEE,kDAAA;A/B+9FJ;A+B59FE;EAKE,WArBa;EAsBb,yB3B7BW;E2B8BX,qB3B9BW;AJw/Ff;A+Bx9FI;EAKI,kDAAA;A/Bs9FR;A+Bj9FE;EAEE,c3B5CW;E2B6CX,6BAAA;A/Bk9FJ;;A8BvgGE;ECiBA,c3BTa;E2BUb,qB3BVa;AJogGf;A+Bx/FE;EACE,WATY;EAUZ,yB3BdW;E2BeX,qB3BfW;AJygGf;A+Bv/FE;EAEE,gDAAA;A/Bw/FJ;A+Br/FE;EAKE,WArBa;EAsBb,yB3B7BW;E2B8BX,qB3B9BW;AJihGf;A+Bj/FI;EAKI,gDAAA;A/B++FR;A+B1+FE;EAEE,c3B5CW;E2B6CX,6BAAA;A/B2+FJ;;A8BhiGE;ECiBA,c3BTa;E2BUb,qB3BVa;AJ6hGf;A+BjhGE;EACE,WATY;EAUZ,yB3BdW;E2BeX,qB3BfW;AJkiGf;A+BhhGE;EAEE,iDAAA;A/BihGJ;A+B9gGE;EAKE,WArBa;EAsBb,yB3B7BW;E2B8BX,qB3B9BW;AJ0iGf;A+B1gGI;EAKI,iDAAA;A/BwgGR;A+BngGE;EAEE,c3B5CW;E2B6CX,6BAAA;A/BogGJ;;A8BzjGE;ECiBA,c3BTa;E2BUb,qB3BVa;AJsjGf;A+B1iGE;EACE,WATY;EAUZ,yB3BdW;E2BeX,qB3BfW;AJ2jGf;A+BziGE;EAEE,gDAAA;A/B0iGJ;A+BviGE;EAKE,WArBa;EAsBb,yB3B7BW;E2B8BX,qB3B9BW;AJmkGf;A+BniGI;EAKI,gDAAA;A/BiiGR;A+B5hGE;EAEE,c3B5CW;E2B6CX,6BAAA;A/B6hGJ;;A8BllGE;ECiBA,c3BTa;E2BUb,qB3BVa;AJ+kGf;A+BnkGE;EACE,WATY;EAUZ,yB3BdW;E2BeX,qB3BfW;AJolGf;A+BlkGE;EAEE,gDAAA;A/BmkGJ;A+BhkGE;EAKE,WArBa;EAsBb,yB3B7BW;E2B8BX,qB3B9BW;AJ4lGf;A+B5jGI;EAKI,gDAAA;A/B0jGR;A+BrjGE;EAEE,c3B5CW;E2B6CX,6BAAA;A/BsjGJ;;A8B3mGE;ECiBA,c3BTa;E2BUb,qB3BVa;AJwmGf;A+B5lGE;EACE,WATY;EAUZ,yB3BdW;E2BeX,qB3BfW;AJ6mGf;A+B3lGE;EAEE,kDAAA;A/B4lGJ;A+BzlGE;EAKE,WArBa;EAsBb,yB3B7BW;E2B8BX,qB3B9BW;AJqnGf;A+BrlGI;EAKI,kDAAA;A/BmlGR;A+B9kGE;EAEE,c3B5CW;E2B6CX,6BAAA;A/B+kGJ;;A8BpoGE;ECiBA,c3BTa;E2BUb,qB3BVa;AJioGf;A+BrnGE;EACE,WATY;EAUZ,yB3BdW;E2BeX,qB3BfW;AJsoGf;A+BpnGE;EAEE,+CAAA;A/BqnGJ;A+BlnGE;EAKE,WArBa;EAsBb,yB3B7BW;E2B8BX,qB3B9BW;AJ8oGf;A+B9mGI;EAKI,+CAAA;A/B4mGR;A+BvmGE;EAEE,c3B5CW;E2B6CX,6BAAA;A/BwmGJ;;A8BlpGA;EACE,gB1B8U4B;E0B7U5B,c1B5CQ;E0B6CR,0B1BqMwC;AJg9F1C;A8BnpGE;EACE,c1BoMsC;AJi9F1C;A8B7oGE;EAEE,c1B9EO;AJ4tGX;;A8BnoGA;ECqBE,oBAAA;E1BgII,kBALI;ECpON,qBAAA;AN6tGJ;;A8BroGA;ECiBE,uBAAA;E1BgII,mBALI;ECpON,qBAAA;ANmuGJ;;AgCrvGA;EXgBM,gCWfJ;AhCwvGF;AqBruGM;EWpBN;IXqBQ,gBAAA;ErBwuGN;AACF;AgC3vGE;EACE,UAAA;AhC6vGJ;;AgCxvGE;EACE,aAAA;AhC2vGJ;;AgCvvGA;EACE,SAAA;EACA,gBAAA;EXAI,6BWCJ;AhC0vGF;AqBvvGM;EWNN;IXOQ,gBAAA;ErB0vGN;AACF;;AiC/wGA;;;;EAIE,kBAAA;AjCkxGF;;AiC/wGA;EACE,mBAAA;AjCkxGF;AkC9vGI;EACE,qBAAA;EACA,oB9BsVwB;E8BrVxB,uB9BoVwB;E8BnVxB,WAAA;EAhCJ,uBAAA;EACA,qCAAA;EACA,gBAAA;EACA,oCAAA;AlCiyGF;AkC5uGI;EACE,cAAA;AlC8uGN;;AiCxxGA;EACE,kBAAA;EACA,SAAA;EACA,OAAA;EACA,a7B+yBkC;E6B9yBlC,aAAA;EACA,gB7B43BkC;E6B33BlC,iBAAA;EACA,oBAAA;E5BmOI,eALI;E4B5NR,c7BVS;E6BWT,gBAAA;EACA,gBAAA;EACA,sB7BtBS;E6BuBT,4BAAA;EACA,qCAAA;E3BbE,sBAAA;ANyyGJ;;AiClxGI;EACE,WAAA;EACA,OAAA;AjCqxGN;;AiClxGI;EACE,QAAA;EACA,UAAA;AjCqxGN;;AatwGI;EoBtBA;IACE,WAAA;IACA,OAAA;EjCgyGJ;;EiC7xGE;IACE,QAAA;IACA,UAAA;EjCgyGJ;AACF;AalxGI;EoBtBA;IACE,WAAA;IACA,OAAA;EjC2yGJ;;EiCxyGE;IACE,QAAA;IACA,UAAA;EjC2yGJ;AACF;Aa7xGI;EoBtBA;IACE,WAAA;IACA,OAAA;EjCszGJ;;EiCnzGE;IACE,QAAA;IACA,UAAA;EjCszGJ;AACF;AaxyGI;EoBtBA;IACE,WAAA;IACA,OAAA;EjCi0GJ;;EiC9zGE;IACE,QAAA;IACA,UAAA;EjCi0GJ;AACF;AanzGI;EoBtBA;IACE,WAAA;IACA,OAAA;EjC40GJ;;EiCz0GE;IACE,QAAA;IACA,UAAA;EjC40GJ;AACF;AiCp0GE;EACE,SAAA;EACA,YAAA;EACA,aAAA;EACA,uB7Bw1BgC;AJ8+EpC;AkCt2GI;EACE,qBAAA;EACA,oB9BsVwB;E8BrVxB,uB9BoVwB;E8BnVxB,WAAA;EAzBJ,aAAA;EACA,qCAAA;EACA,0BAAA;EACA,oCAAA;AlCk4GF;AkCp1GI;EACE,cAAA;AlCs1GN;;AiC10GE;EACE,MAAA;EACA,WAAA;EACA,UAAA;EACA,aAAA;EACA,qB7B00BgC;AJmgFpC;AkC33GI;EACE,qBAAA;EACA,oB9BsVwB;E8BrVxB,uB9BoVwB;E8BnVxB,WAAA;EAlBJ,mCAAA;EACA,eAAA;EACA,sCAAA;EACA,wBAAA;AlCg5GF;AkCz2GI;EACE,cAAA;AlC22GN;AiCr1GI;EACE,iBAAA;AjCu1GN;;AiCj1GE;EACE,MAAA;EACA,WAAA;EACA,UAAA;EACA,aAAA;EACA,sB7ByzBgC;AJ2hFpC;AkCn5GI;EACE,qBAAA;EACA,oB9BsVwB;E8BrVxB,uB9BoVwB;E8BnVxB,WAAA;AlCq5GN;AkC14GM;EACE,aAAA;AlC44GR;AkCz4GM;EACE,qBAAA;EACA,qB9BmUsB;E8BlUtB,uB9BiUsB;E8BhUtB,WAAA;EA9BN,mCAAA;EACA,yBAAA;EACA,sCAAA;AlC06GF;AkCz4GI;EACE,cAAA;AlC24GN;AiCp2GI;EACE,iBAAA;AjCs2GN;;AiC91GE;EAIE,WAAA;EACA,YAAA;AjC81GJ;;AiCz1GA;EACE,SAAA;EACA,gBAAA;EACA,gBAAA;EACA,yCAAA;AjC41GF;;AiCt1GA;EACE,cAAA;EACA,WAAA;EACA,qBAAA;EACA,WAAA;EACA,gB7BuR4B;E6BtR5B,c7BpHS;E6BqHT,mBAAA;EACA,qBAAA;EACA,mBAAA;EACA,6BAAA;EACA,SAAA;AjCy1GF;AiC30GE;EAEE,c7BywBgC;EkB/5BlC,yBlBKS;AJ89GX;AiCx0GE;EAEE,W7BzJO;E6B0JP,qBAAA;EX9JF,yBlB8BQ;AJ08GV;AiCt0GE;EAEE,c7B1JO;E6B2JP,oBAAA;EACA,6BAAA;AjCu0GJ;;AiCj0GA;EACE,cAAA;AjCo0GF;;AiCh0GA;EACE,cAAA;EACA,oB7BwvBkC;E6BvvBlC,gBAAA;E5BoEI,mBALI;E4B7DR,c7B5KS;E6B6KT,mBAAA;AjCm0GF;;AiC/zGA;EACE,cAAA;EACA,qBAAA;EACA,c7BjLS;AJm/GX;;AiC9zGA;EACE,c7B5LS;E6B6LT,yB7BxLS;E6ByLT,iC7BitBkC;AJgnFpC;AiC9zGE;EACE,c7BlMO;AJkgHX;AiC9zGI;EAEE,W7BzMK;EkBJT,2ClBo7BkC;AJylFpC;AiC5zGI;EAEE,W7B/MK;EkBJT,yBlB8BQ;AJm/GV;AiC1zGI;EAEE,c7BhNK;AJ2gHX;AiCvzGE;EACE,iC7BwrBgC;AJioFpC;AiCtzGE;EACE,c7B3NO;AJmhHX;AiCrzGE;EACE,c7B7NO;AJohHX;;AmC/hHA;;EAEE,kBAAA;EACA,oBAAA;EA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CnqHM;IACE,mBAAA;ErCqqHR;EqCnqHQ;IACE,kBAAA;ErCqqHV;EqClqHQ;IACE,qBjC+rBwB;IiC9rBxB,oBjC8rBwB;EJs+FlC;EqChqHM;IACE,wBAAA;ErCkqHR;EqC/pHM;IACE,aAAA;ErCiqHR;AACF;AaxxHI;EwB+FA;IAEI,iBAAA;IACA,2BAAA;ErC2rHN;EqCzrHM;IACE,mBAAA;ErC2rHR;EqCzrHQ;IACE,kBAAA;ErC2rHV;EqCxrHQ;IACE,qBjC+rBwB;IiC9rBxB,oBjC8rBwB;EJ4/FlC;EqCtrHM;IACE,wBAAA;ErCwrHR;EqCrrHM;IACE,aAAA;ErCurHR;AACF;Aa9yHI;EwB+FA;IAEI,iBAAA;IACA,2BAAA;ErCitHN;EqC/sHM;IACE,mBAAA;ErCitHR;EqC/sHQ;IACE,kBAAA;ErCitHV;EqC9sHQ;IACE,qBjC+rBwB;IiC9rBxB,oBjC8rBwB;EJkhGlC;EqC5sHM;IACE,wBAAA;ErC8sHR;EqC3sHM;IACE,aAAA;ErC6sHR;AACF;Aap0HI;EwB+FA;IAEI,iBAAA;IACA,2BAAA;ErCuuHN;EqCruHM;IACE,mBAAA;ErCuuHR;EqCruHQ;IACE,kBAAA;ErCuuHV;EqCpuHQ;IACE,qBjC+rBwB;IiC9rBxB,oBjC8rBwB;EJwiGlC;EqCluHM;IACE,wBAAA;ErCouHR;EqCjuHM;IACE,aAAA;ErCmuHR;AACF;AqC3vHI;EAEI,iBAAA;EACA,2BAAA;ArC4vHR;AqC1vHQ;EACE,mBAAA;ArC4vHV;AqC1vHU;EACE,kBAAA;ArC4vHZ;AqCzvHU;EACE,qBjC+rBwB;EiC9rBxB,oBjC8rBwB;AJ6jGpC;AqCvvHQ;EACE,wBAAA;ArCyvHV;AqCtvHQ;EACE,aAAA;ArCwvHV;;AqC1uHE;EACE,yBjC+rBgC;AJ8iGpC;AqC3uHI;EAEE,yBjC2rB8B;AJijGpC;AqCvuHI;EACE,0BjCmrB8B;AJsjGpC;AqCvuHM;EAEE,yBjCgrB4B;AJwjGpC;AqCruHM;EACE,yBjC8qB4B;AJyjGpC;AqCnuHI;;EAEE,yBjCuqB8B;AJ8jGpC;AqCjuHE;EACE,0BjCgqBgC;EiC/pBhC,gCjCoqBgC;AJ+jGpC;AqChuHE;EACE,6PAAA;ArCkuHJ;AqC/tHE;EACE,0BjCupBgC;AJ0kGpC;AqC/tHI;;;EAGE,yBjCopB8B;AJ6kGpC;;AqC1tHE;EACE,WjChPO;AJ68HX;AqC3tHI;EAEE,WjCpPK;AJg9HX;AqCvtHI;EACE,gCjCynB8B;AJgmGpC;AqCvtHM;EAEE,gCjCsnB4B;AJkmGpC;AqCrtHM;EACE,gCjConB4B;AJmmGpC;AqCntHI;;EAEE,WjCxQK;AJ69HX;AqCjtHE;EACE,gCjCsmBgC;EiCrmBhC,sCjC0mBgC;AJymGpC;AqChtHE;EACE,mQAAA;ArCktHJ;AqC/sHE;EACE,gCjC6lBgC;AJonGpC;AqChtHI;;;EAGE,WjC1RK;AJ4+HX;;AsC/+HA;EACE,kBAAA;EACA,aAAA;EACA,sBAAA;EACA,YAAA;EAEA,qBAAA;EACA,sBlCJS;EkCKT,2BAAA;EACA,sCAAA;EhCKE,sBAAA;AN6+HJ;AsC/+HE;EACE,eAAA;EACA,cAAA;AtCi/HJ;AsC9+HE;EACE,mBAAA;EACA,sBAAA;AtCg/HJ;AsC9+HI;EACE,mBAAA;EhCCF,2CAAA;EACA,4CAAA;ANg/HJ;AsC9+HI;EACE,sBAAA;EhCUF,+CAAA;EACA,8CAAA;ANu+HJ;AsC3+HE;;EAEE,aAAA;AtC6+HJ;;AsCz+HA;EAGE,cAAA;EACA,kBAAA;AtC0+HF;;AsCt+HA;EACE,qBlCg7BkC;AJyjGpC;;AsCt+HA;EACE,oBAAA;EACA,gBAAA;AtCy+HF;;AsCt+HA;EACE,gBAAA;AtCy+HF;;AsCr+HE;EACE,qBAAA;AtCw+HJ;AsCr+HE;EACE,iBlCuKK;AJg0HT;;AsC/9HA;EACE,oBAAA;EACA,gBAAA;EAEA,qClCy5BkC;EkCx5BlC,6CAAA;AtCi+HF;AsC/9HE;EhCpEE,0DAAA;ANsiIJ;;AsC79HA;EACE,oBAAA;EAEA,qClC84BkC;EkC74BlC,0CAAA;AtC+9HF;AsC79HE;EhC/EE,0DAAA;AN+iIJ;;AsCt9HA;EACE,qBAAA;EACA,sBAAA;EACA,oBAAA;EACA,gBAAA;AtCy9HF;;AsC/8HA;EACE,qBAAA;EACA,oBAAA;AtCk9HF;;AsC98HA;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,alCyGO;EE5NL,kCAAA;ANqkIJ;;AsC98HA;;;EAGE,WAAA;AtCi9HF;;AsC98HA;;EhCpHI,2CAAA;EACA,4CAAA;ANukIJ;;AsC/8HA;;EhC3GI,+CAAA;EACA,8CAAA;AN+jIJ;;AsCx8HE;EACE,sBlCk1BgC;AJynGpC;Aa9iII;EyB+FJ;IAQI,aAAA;IACA,mBAAA;EtC28HF;EsCx8HE;IAEE,YAAA;IACA,gBAAA;EtCy8HJ;EsCv8HI;IACE,cAAA;IACA,cAAA;EtCy8HN;EsCp8HM;IhCpJJ,0BAAA;IACA,6BAAA;EN2lIF;EsCr8HQ;;IAGE,0BAAA;EtCs8HV;EsCp8HQ;;IAGE,6BAAA;EtCq8HV;EsCj8HM;IhCrJJ,yBAAA;IACA,4BAAA;ENylIF;EsCl8HQ;;IAGE,yBAAA;EtCm8HV;EsCj8HQ;;IAGE,4BAAA;EtCk8HV;AACF;;AuC/oIA;EACE,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,WAAA;EACA,qBAAA;ElCkPI,eALI;EkC3OR,cnCKS;EmCJT,6BnC8+BwC;EmC7+BxC,sCAAA;EjCKE,gBAAA;EiCHF,qBAAA;ElBCI,+JAAA;ArBkpIN;AqB9oIM;EkBhBN;IlBiBQ,gBAAA;ErBipIN;AACF;AuCrpIE;EACE,sBAAA;AvCupIJ;AuCppIE;EACE,cnCi/BsC;EmCh/BtC,yBnC++BsC;AJuqG1C;AuCppII;EACE,iSAAA;EACA,yBnCq/BoC;AJiqG1C;AuCjpIE;EACE,cAAA;EACA,cnC0+BsC;EmCz+BtC,enCy+BsC;EmCx+BtC,iBAAA;EACA,WAAA;EACA,iSAAA;EACA,4BAAA;EACA,wBnCo+BsC;EiB7/BpC,sCkB0BF;AvCmpIJ;AqBzqIM;EkBaJ;IlBZM,gBAAA;ErB4qIN;AACF;AuCrpIE;EACE,UAAA;AvCupIJ;AuCppIE;EACE,UAAA;EACA,qBnC+lBoC;EmC9lBpC,UAAA;EACA,kDnC6f4B;AJypHhC;;AuClpIA;EACE,gBAAA;AvCqpIF;;AuChpII;EjCpCA,+BAAA;EACA,gCAAA;ANwrIJ;AuC7oIM;EACE,wBnCkRsB;EEjT1B,mCAAA;EACA,kCAAA;AN+qIJ;AuC5oII;EACE,wBnC4QwB;EEjT1B,mCAAA;EACA,kCAAA;ANorIJ;;AuC1oIA;EACE,kCAAA;EACA,mBAAA;AvC6oIF;;AuC1oIA;EACE,qBAAA;AvC6oIF;;AuCpoIE;EACE,eAAA;EACA,cAAA;EjCnFA,gBAAA;AN2tIJ;AuCpoIE;EACE,eAAA;AvCsoIJ;AuCjoIM;EACE,mBAAA;EjCrFJ,yBAAA;EACA,0BAAA;ANytIJ;AuC/nIM;EACE,sBAAA;EjC9EJ,6BAAA;EACA,4BAAA;ANgtIJ;;AwC1vIA;EACE,aAAA;EACA,eAAA;EACA,oBAAA;EACA,mBpC8tCkC;EoC5tClC,gBAAA;EACA,yBpCES;EESP,sBAAA;ANkvIJ;;AwCvvIE;EACE,oBpCmtCgC;AJuiGpC;AwCxvII;EACE,WAAA;EACA,qBpC+sC8B;EoC9sC9B,cpCNK;EoCOL,YAAA;AxC0vIN;AwCtvIE;EACE,cpCZO;AJowIX;;AyCjxIA;EACE,aAAA;EjCGA,eAAA;EACA,gBAAA;ARkxIF;;AyClxIA;EACE,kBAAA;EACA,cAAA;EACA,crCyBQ;EqCxBR,qBAAA;EACA,sBrCHS;EqCIT,yBAAA;EpBKI,qIoBJJ;AzCqxIF;AqB7wIM;EoBfN;IpBgBQ,gBAAA;ErBgxIN;AACF;AyCxxIE;EACE,UAAA;EACA,crCqQsC;EqCnQtC,yBrCTO;EqCUP,qBrCTO;AJkyIX;AyCtxIE;EACE,UAAA;EACA,crC6PsC;EqC5PtC,yBrChBO;EqCiBP,UrCu7BgC;EqCt7BhC,kDrCuhB4B;AJiwHhC;;AyCnxIE;EACE,iBrC06BgC;AJ42GpC;AyCnxIE;EACE,UAAA;EACA,WrC/BO;EkBJT,yBlB8BQ;EqCON,qBrCPM;AJ4xIV;AyClxIE;EACE,crC/BO;EqCgCP,oBAAA;EACA,sBrCvCO;EqCwCP,qBrCrCO;AJyzIX;;A0Ch0IE;EACE,yBAAA;A1Cm0IJ;;A0C5zIQ;EpCqCJ,+BAAA;EACA,kCAAA;AN2xIJ;A0C3zIQ;EpCiBJ,gCAAA;EACA,mCAAA;AN6yIJ;;A0C70IE;EACE,uBAAA;ErCuPE,kBALI;AL+lIV;A0C10IQ;EpCqCJ,8BAAA;EACA,iCAAA;ANwyIJ;A0Cx0IQ;EpCiBJ,+BAAA;EACA,kCAAA;AN0zIJ;;A0C11IE;EACE,uBAAA;ErCuPE,mBALI;AL4mIV;A0Cv1IQ;EpCqCJ,8BAAA;EACA,iCAAA;ANqzIJ;A0Cr1IQ;EpCiBJ,+BAAA;EACA,kCAAA;ANu0IJ;;A2Cr2IA;EACE,qBAAA;EACA,sBAAA;EtCoPI,iBALI;EsC7OR,gBvCkZ4B;EuCjZ5B,cAAA;EACA,WvCJS;EuCKT,kBAAA;EACA,mBAAA;EACA,wBAAA;ErCIE,sBAAA;ANq2IJ;A2Cp2IE;EACE,aAAA;A3Cs2IJ;;A2Cj2IA;EACE,kBAAA;EACA,SAAA;A3Co2IF;;A4C33IA;EACE,kBAAA;EACA,kBAAA;EACA,mBxCgpCkC;EwC/oClC,6BAAA;EtCUE,sBAAA;ANq3IJ;;A4C13IA;EAEE,cAAA;A5C43IF;;A4Cx3IA;EACE,gBxCuY4B;AJo/H9B;;A4Cn3IA;EACE,mBxCmoCkC;AJmvGpC;A4Cn3IE;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,UAAA;EACA,qBAAA;A5Cq3IJ;;A4Ct2IE;ECnDA,cD+CQ;EtB7CR,yBsB2Ca;EC3Cb,qBD4CS;A5Ci3IX;A6C35IE;EACE,cAAA;A7C65IJ;;A4C/2IE;ECnDA,cD+CQ;EtB7CR,yBsB2Ca;EC3Cb,qBD4CS;A5C03IX;A6Cp6IE;EACE,cAAA;A7Cs6IJ;;A4Cx3IE;ECnDA,cD+CQ;EtB7CR,yBsB2Ca;EC3Cb,qBD4CS;A5Cm4IX;A6C76IE;EACE,cAAA;A7C+6IJ;;A4Cj4IE;ECnDA,cDiDU;EtB/CV,yBsB2Ca;EC3Cb,qBD4CS;A5C44IX;A6Ct7IE;EACE,cAAA;A7Cw7IJ;;A4C14IE;ECnDA,cDiDU;EtB/CV,yBsB2Ca;EC3Cb,qBD4CS;A5Cq5IX;A6C/7IE;EACE,cAAA;A7Ci8IJ;;A4Cn5IE;ECnDA,cD+CQ;EtB7CR,yBsB2Ca;EC3Cb,qBD4CS;A5C85IX;A6Cx8IE;EACE,cAAA;A7C08IJ;;A4C55IE;ECnDA,cDiDU;EtB/CV,yBsB2Ca;EC3Cb,qBD4CS;A5Cu6IX;A6Cj9IE;EACE,cAAA;A7Cm9IJ;;A4Cr6IE;ECnDA,cD+CQ;EtB7CR,yBsB2Ca;EC3Cb,qBD4CS;A5Cg7IX;A6C19IE;EACE,cAAA;A7C49IJ;;A8Ch+IE;EACE;IAAK,2B1CkqC2B;EJk0GlC;AACF;;A8Ct+IE;EACE;IAAK,2B1CkqC2B;EJk0GlC;AACF;A8Cj+IA;EACE,aAAA;EACA,Y1C4pCkC;E0C3pClC,gBAAA;EzCiPI,kBALI;EyC1OR,yB1CHS;EESP,sBAAA;AN89IJ;;A8C/9IA;EACE,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,gBAAA;EACA,W1CfS;E0CgBT,kBAAA;EACA,mBAAA;EACA,yB1CQQ;EiBjBJ,2ByBUJ;A9Ck+IF;AqBx+IM;EyBHN;IzBIQ,gBAAA;ErB2+IN;AACF;;A8Cp+IA;ExBYE,qMAAA;EwBVA,0BAAA;A9Cu+IF;;A8Cn+IE;EACE,0DAAA;EAAA,kDAAA;A9Cs+IJ;A8Cn+IM;EAJJ;IAKM,uBAAA;IAAA,eAAA;E9Cs+IN;AACF;;A+C3gJA;EACE,aAAA;EACA,sBAAA;EAGA,eAAA;EACA,gBAAA;EzCQE,sBAAA;ANqgJJ;;A+CngJA;EACE,WAAA;EACA,c3CRS;E2CST,mBAAA;A/CsgJF;A+CngJE;EAEE,UAAA;EACA,c3CfO;E2CgBP,qBAAA;EACA,yB3CvBO;AJ2hJX;A+CjgJE;EACE,c3CnBO;E2CoBP,yB3C3BO;AJ8hJX;;A+C1/IA;EACE,kBAAA;EACA,cAAA;EACA,oBAAA;EAEA,qBAAA;EACA,sB3C5CS;E2C6CT,sCAAA;A/C4/IF;A+C1/IE;EzC3BE,+BAAA;EACA,gCAAA;ANwhJJ;A+C1/IE;EzCjBE,mCAAA;EACA,kCAAA;AN8gJJ;A+C1/IE;EAEE,c3CnDO;E2CoDP,oBAAA;EACA,sB3C3DO;AJsjJX;A+Cv/IE;EACE,UAAA;EACA,W3CjEO;E2CkEP,yB3CxCM;E2CyCN,qB3CzCM;AJkiJV;A+Ct/IE;EACE,mBAAA;A/Cw/IJ;A+Ct/II;EACE,gBAAA;EACA,qB3CwQwB;AJgvI9B;;A+C1+II;EACE,mBAAA;A/C6+IN;A+C1+IQ;EzC3BJ,kCAAA;EAZA,0BAAA;ANqhJJ;A+Cz+IQ;EzC5CJ,gCAAA;EAYA,4BAAA;AN6gJJ;A+Cx+IQ;EACE,aAAA;A/C0+IV;A+Cv+IQ;EACE,qB3CuOoB;E2CtOpB,oBAAA;A/Cy+IV;A+Cv+IU;EACE,iBAAA;EACA,sB3CkOkB;AJuwI9B;;AaliJI;EkCiCA;IACE,mBAAA;E/CqgJJ;E+ClgJM;IzC3BJ,kCAAA;IAZA,0BAAA;EN6iJF;E+CjgJM;IzC5CJ,gCAAA;IAYA,4BAAA;ENqiJF;E+ChgJM;IACE,aAAA;E/CkgJR;E+C//IM;IACE,qB3CuOoB;I2CtOpB,oBAAA;E/CigJR;E+C//IQ;IACE,iBAAA;IACA,sB3CkOkB;EJ+xI5B;AACF;Aa3jJI;EkCiCA;IACE,mBAAA;E/C6hJJ;E+C1hJM;IzC3BJ,kCAAA;IAZA,0BAAA;ENqkJF;E+CzhJM;IzC5CJ,gCAAA;IAYA,4BAAA;EN6jJF;E+CxhJM;IACE,aAAA;E/C0hJR;E+CvhJM;IACE,qB3CuOoB;I2CtOpB,oBAAA;E/CyhJR;E+CvhJQ;IACE,iBAAA;IACA,sB3CkOkB;EJuzI5B;AACF;AanlJI;EkCiCA;IACE,mBAAA;E/CqjJJ;E+CljJM;IzC3BJ,kCAAA;IAZA,0BAAA;EN6lJF;E+CjjJM;IzC5CJ,gCAAA;IAYA,4BAAA;ENqlJF;E+ChjJM;IACE,aAAA;E/CkjJR;E+C/iJM;IACE,qB3CuOoB;I2CtOpB,oBAAA;E/CijJR;E+C/iJQ;IACE,iBAAA;IACA,sB3CkOkB;EJ+0I5B;AACF;Aa3mJI;EkCiCA;IACE,mBAAA;E/C6kJJ;E+C1kJM;IzC3BJ,kCAAA;IAZA,0BAAA;ENqnJF;E+CzkJM;IzC5CJ,gCAAA;IAYA,4BAAA;EN6mJF;E+CxkJM;IACE,aAAA;E/C0kJR;E+CvkJM;IACE,qB3CuOoB;I2CtOpB,oBAAA;E/CykJR;E+CvkJQ;IACE,iBAAA;IACA,sB3CkOkB;EJu2I5B;AACF;AanoJI;EkCiCA;IACE,mBAAA;E/CqmJJ;E+ClmJM;IzC3BJ,kCAAA;IAZA,0BAAA;EN6oJF;E+CjmJM;IzC5CJ,gCAAA;IAYA,4BAAA;ENqoJF;E+ChmJM;IACE,aAAA;E/CkmJR;E+C/lJM;IACE,qB3CuOoB;I2CtOpB,oBAAA;E/CimJR;E+C/lJQ;IACE,iBAAA;IACA,sB3CkOkB;EJ+3I5B;AACF;A+CplJA;EzCpHI,gBAAA;AN2sJJ;A+CplJE;EACE,qBAAA;A/CslJJ;A+CplJI;EACE,sBAAA;A/CslJN;;AgDhuJE;EACE,cDuJM;ECtJN,yBDqJW;A/C8kJf;AgDhuJM;EAEE,cDiJE;EChJF,yBAAA;AhDiuJR;AgD9tJM;EACE,W5CRG;E4CSH,yBD2IE;EC1IF,qBD0IE;A/CslJV;;AgD9uJE;EACE,cDuJM;ECtJN,yBDqJW;A/C4lJf;AgD9uJM;EAEE,cDiJE;EChJF,yBAAA;AhD+uJR;AgD5uJM;EACE,W5CRG;E4CSH,yBD2IE;EC1IF,qBD0IE;A/ComJV;;AgD5vJE;EACE,cDuJM;ECtJN,yBDqJW;A/C0mJf;AgD5vJM;EAEE,cDiJE;EChJF,yBAAA;AhD6vJR;AgD1vJM;EACE,W5CRG;E4CSH,yBD2IE;EC1IF,qBD0IE;A/CknJV;;AgD1wJE;EACE,cDyJQ;ECxJR,yBDqJW;A/CwnJf;AgD1wJM;EAEE,cDmJI;EClJJ,yBAAA;AhD2wJR;AgDxwJM;EACE,W5CRG;E4CSH,yBD6II;EC5IJ,qBD4II;A/C8nJZ;;AgDxxJE;EACE,cDyJQ;ECxJR,yBDqJW;A/CsoJf;AgDxxJM;EAEE,cDmJI;EClJJ,yBAAA;AhDyxJR;AgDtxJM;EACE,W5CRG;E4CSH,yBD6II;EC5IJ,qBD4II;A/C4oJZ;;AgDtyJE;EACE,cDuJM;ECtJN,yBDqJW;A/CopJf;AgDtyJM;EAEE,cDiJE;EChJF,yBAAA;AhDuyJR;AgDpyJM;EACE,W5CRG;E4CSH,yBD2IE;EC1IF,qBD0IE;A/C4pJV;;AgDpzJE;EACE,cDyJQ;ECxJR,yBDqJW;A/CkqJf;AgDpzJM;EAEE,cDmJI;EClJJ,yBAAA;AhDqzJR;AgDlzJM;EACE,W5CRG;E4CSH,yBD6II;EC5IJ,qBD4II;A/CwqJZ;;AgDl0JE;EACE,cDuJM;ECtJN,yBDqJW;A/CgrJf;AgDl0JM;EAEE,cDi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AlEqlMV;;AkEvlMM;EAEI,qBAAA;AlEylMV;;AkE3lMM;EAEI,qBAAA;AlE6lMV;;AkE/lMM;EAEI,sBAAA;AlEimMV;;AkEnmMM;EAEI,sBAAA;AlEqmMV;;AkEvmMM;EAEI,0BAAA;AlEymMV;;AkE3mMM;EAEI,uBAAA;AlE6mMV;;AkE/mMM;EAEI,2BAAA;AlEinMV;;AkEnnMM;EAEI,sBAAA;AlEqnMV;;AkEvnMM;EAEI,sBAAA;AlEynMV;;AkE3nMM;EAEI,sBAAA;AlE6nMV;;AkE/nMM;EAEI,uBAAA;AlEioMV;;AkEnoMM;EAEI,uBAAA;AlEqoMV;;AkEvoMM;EAEI,2BAAA;AlEyoMV;;AkE3oMM;EAEI,wBAAA;AlE6oMV;;AkE/oMM;EAEI,4BAAA;AlEipMV;;AkEnpMM;EAEI,yBAAA;AlEqpMV;;AkEvpMM;EAEI,8BAAA;AlEypMV;;AkE3pMM;EAEI,iCAAA;AlE6pMV;;AkE/pMM;EAEI,sCAAA;AlEiqMV;;AkEnqMM;EAEI,yCAAA;AlEqqMV;;AkEvqMM;EAEI,uBAAA;AlEyqMV;;AkE3qMM;EAEI,uBAAA;AlE6qMV;;AkE/qMM;EAEI,yBAAA;AlEirMV;;AkEnrMM;EAEI,yBAAA;AlEqrMV;;AkEvrMM;EAEI,0BAAA;AlEyrMV;;AkE3rMM;EAEI,4BAAA;AlE6rMV;;AkE/rMM;EAEI,kCAAA;AlEisMV;;AkEnsMM;EAEI,iBAAA;AlEqsMV;;AkEvsMM;EAEI,uBAAA;AlEysMV;;AkE3sMM;EAEI,sBAAA;AlE6sMV;;AkE/sMM;EAEI,oBAAA;AlEitMV;;AkEntMM;EAEI,sBAAA;AlEqtMV;;AkEvtMM;EAEI,oBAAA;AlEytMV;;AkE3tMM;EAEI,sCAAA;AlE6tMV;;AkE/tMM;EAEI,oCAAA;AlEiuMV;;AkEnuMM;EAEI,kCAAA;AlEquMV;;AkEvuMM;EAEI,yCAAA;AlEyuMV;;AkE3uMM;EAEI,wCAAA;AlE6uMV;;AkE/uMM;EAEI,wCAAA;AlEivMV;;AkEnvMM;EAEI,kCAAA;AlEqvMV;;AkEvvMM;EAEI,gCAAA;AlEyvMV;;AkE3vMM;EAEI,8BAAA;AlE6vMV;;AkE/vMM;EAEI,gC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V;;AkErvNM;EAEI,6BAAA;AlEuvNV;;AkEzvNM;EAEI,6BAAA;AlE2vNV;;AkE7vNM;EAEI,2BAAA;AlE+vNV;;AkEjwNM;EAEI,+BAAA;AlEmwNV;;AkErwNM;EAEI,2BAAA;AlEuwNV;;AkEzwNM;EAEI,2BAAA;AlE2wNV;;AkE7wNM;EAEI,8BAAA;AlE+wNV;;AkEjxNM;EAEI,oCAAA;AlEmxNV;;AkErxNM;EAEI,oCAAA;AlEuxNV;;AkEzxNM;EAEI,qCAAA;AlE2xNV;;AkE7xNM;EAEI,2BAAA;AlE+xNV;;AkEjyNM;EAEI,4BAAA;AlEmyNV;;AkEryNM;EAEI,6BAAA;AlEuyNV;;AkEzyNM;EAEI,yBAAA;AlE2yNV;;AkE7yNM;EAEI,yBAAA;AlE+yNV;;AkEjzNM;EAEI,yBAAA;AlEmzNV;;AkErzNM;EAEI,yBAAA;AlEuzNV;;AkEzzNM;EAEI,yBAAA;AlE2zNV;;AkE7zNM;EAEI,yBAAA;AlE+zNV;;AkEj0NM;EAEI,yBAAA;AlEm0NV;;AkEr0NM;EAEI,yBAAA;AlEu0NV;;AkEz0NM;EAEI,sBAAA;AlE20NV;;AkE70NM;EAEI,yBAAA;AlE+0NV;;AkEj1NM;EAEI,yBAAA;AlEm1NV;;AkEr1NM;EAEI,oCAAA;AlEu1NV;;AkEz1NM;EAEI,0CAAA;AlE21NV;;AkE71NM;EAEI,yBAAA;AlE+1NV;;AkEj2NM;EAEI,yBAAA;AlEm2NV;;AkEr2NM;EAEI,4BAAA;AlEu2NV;;AkEz2NM;EAEI,2BAAA;AlE22NV;;AkE72NM;EAEI,yBAAA;AlE+2NV;;AkEj3NM;EAEI,oCAAA;AlEm3NV;;AkEr3NM;EAEI,oCAAA;AlEu3NV;;AkEz3NM;EAEI,oCAAA;AlE23NV;;AkE73NM;EAEI,oCAAA;AlE+3NV;;AkEj4NM;EAEI,oCAAA;AlEm4NV;;AkEr4NM;EAEI,oCAAA;AlEu4NV;;AkEz4NM;EAEI,oCAAA;AlE24NV;;AkE74NM;EAEI,oCAAA;AlE+4NV;;AkEj5NM;EAEI,iCAAA;AlEm5NV;;AkEr5NM;EAEI,iCAAA;AlEu5NV;;AkEz5NM;EAEI,wCAAA;AlE25NV;;AkE75NM;EAEI,+CAAA;AlE+5NV;;AkEj6NM;EAEI,8BAAA;AlEm6NV;;AkEr6NM;EAEI,8BAAA;AlEu6NV;;AkEz6NM;EAEI,gCAAA;AlE26NV;;AkE76NM;EAEI,qCAAA;AlE+6NV;;AkEj7NM;EAEI,wCAAA;AlEm7NV;;AkEr7NM;EAEI,gCAAA;EAAA,iCAAA;AlEw7NV;;AkE17NM;EAEI,gDAAA;AlE47NV;;AkE97NM;EAEI,mCAAA;EAAA,gCAAA;EAAA,2BAAA;AlEg8NV;;AkEl8NM;EAEI,oCAAA;EAAA,iCAAA;EAAA,4BAAA;AlEo8NV;;AkEt8NM;EAEI,oCAAA;EAAA,iCAAA;EAAA,4BAAA;AlEw8NV;;AkE18NM;EAEI,+BAAA;AlE48NV;;AkE98NM;EAEI,+BAAA;AlEg9NV;;AkEl9NM;EAEI,iCAAA;AlEo9NV;;AkEt9NM;EAEI,2BAAA;AlEw9NV;;AkE19NM;EAEI,gCAAA;AlE49NV;;AkE99NM;EAEI,iCAAA;AlEg+NV;;AkEl+NM;EAEI,gCAAA;AlEo+NV;;AkEt+NM;EAEI,6BAAA;AlEw+NV;;AkE1+NM;EAEI,+BAAA;AlE4+NV;;AkE9+NM;EAEI,0CAAA;EAAA,2CAAA;AlEi/NV;;AkEn/NM;EAEI,2CAAA;EAAA,8CAAA;AlEs/NV;;AkEx/NM;EAEI,8CAAA;EAAA,6CAAA;AlE2/NV;;AkE7/NM;EAEI,6CAAA;EAAA,0CAAA;AlEggOV;;AkElgOM;EAEI,8BAAA;AlEogOV;;AkEtgOM;EAEI,6BAAA;AlEwgOV;;Aap/NI;EqDtBE;IAEI,sBAAA;ElE6gOR;;EkE/gOI;IAEI,uBAAA;ElEihOR;;EkEnhOI;IAEI,sBAAA;ElEqhOR;;EkEvhOI;IAEI,0BAAA;ElEyhOR;;EkE3hOI;IAEI,gCAAA;ElE6hOR;;EkE/hOI;IAEI,yBAAA;ElEiiOR;;EkEniOI;IAEI,wBAAA;ElEqiOR;;EkEviOI;IAEI,yBAAA;ElEyiOR;;EkE3iOI;IAEI,6BAAA;ElE6iOR;;EkE/iOI;IAEI,8BAAA;ElEijOR;;EkEnjOI;IAEI,wBAAA;ElEqjOR;;EkEvjOI;IAEI,+BAAA;ElEyjOR;;EkE3jOI;IAEI,wBAAA;ElE6jOR;;EkE/jOI;IAEI,yBAAA;ElEikOR;;EkEnkOI;IAEI,8BAAA;ElEqkOR;;EkEvkOI;IAEI,iCAAA;ElEykOR;;EkE3kOI;IAEI,sCAAA;ElE6kOR;;EkE/kOI;IAEI,yCAAA;ElEilOR;;EkEnlOI;IAEI,uBAAA;ElEqlOR;;EkEvlOI;IAEI,uBAAA;ElEylOR;;EkE3lOI;IAEI,yBAAA;ElE6lOR;;EkE/lOI;IAEI,yBAAA;ElEimOR;;EkEnmOI;IAEI,0BAAA;ElEqmOR;;EkEvmOI;IAEI,4BAAA;ElEymOR;;EkE3mOI;IAEI,kCAAA;ElE6mOR;;EkE/mOI;IAEI,iBAAA;ElEinOR;;EkEnnOI;IAEI,uBAAA;ElEqnOR;;EkEvnOI;IAEI,sBAAA;ElEynOR;;EkE3nOI;IAEI,oBAAA;ElE6nOR;;EkE/nOI;IAEI,sBAAA;ElEioOR;;EkEnoOI;IAEI,oBAAA;ElEqoOR;;EkEvoOI;IAEI,sCAAA;ElEyoOR;;EkE3oOI;IAEI,oCAAA;ElE6oOR;;EkE/oOI;IAEI,kCAAA;ElEipOR;;EkEnpOI;IAEI,yCAAA;ElEqpOR;;EkEvpOI;IAEI,wCAAA;ElEypOR;;EkE3pOI;IAEI,wCAAA;ElE6pOR;;EkE/pOI;IAEI,kCAAA;ElEiqOR;;EkEnqOI;IAEI,gCAAA;ElEqqOR;;EkEvqOI;IAEI,8BAAA;ElEyqOR;;EkE3qOI;IAEI,gCAAA;ElE6qOR;;EkE/qOI;IAEI,+BAAA;ElEirOR;;EkEnrOI;IAEI,oCAAA;ElEqrOR;;EkEvrOI;IAEI,kCAAA;ElEyrOR;;EkE3rOI;IAEI,gCAAA;ElE6rOR;;EkE/rOI;IAEI,uCAAA;ElEisOR;;EkEnsOI;IAEI,sCAAA;ElEqsOR;;EkEvsOI;IAEI,iCAAA;ElEysOR;;EkE3sOI;IAEI,2BAAA;ElE6sOR;;EkE/sOI;IAEI,iCAAA;ElEitOR;;EkEntOI;IAEI,+BAAA;ElEqtOR;;EkEvtOI;IAEI,6BAAA;ElEytOR;;EkE3tOI;IAEI,+BAAA;ElE6tOR;;EkE/tOI;IAEI,8BAAA;ElEiuOR;;EkEnuOI;IAEI,oBAAA;ElEquOR;;EkEvuOI;IAEI,mBAAA;ElEyuOR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,8BAAA;ElEmjPR;;EkErjPI;IAEI,4BAAA;ElEujPR;;EkEzjPI;IAEI,8BAAA;ElE2jPR;;EkE7jPI;IAEI,4BAAA;ElE+jPR;;EkEjkPI;IAEI,2BAAA;ElEmkPR;;EkErkPI;IAEI,iCAAA;ElEukPR;;EkEzkPI;IAEI,gCAAA;ElE2kPR;;EkE7kPI;IAEI,8BAAA;ElE+kPR;;EkEjlPI;IAEI,gCAAA;ElEmlPR;;EkErlPI;IAEI,8BAAA;ElEulPR;;EkEzlPI;IAEI,4BAAA;ElE2lPR;;EkE7lPI;IAEI,kCAAA;ElE+lPR;;EkEjmPI;IAEI,iCAAA;ElEmmPR;;EkErmPI;IAEI,+BAAA;ElEumPR;;EkEzmPI;IAEI,iCAAA;ElE2mPR;;EkE7mPI;IAEI,+BAAA;ElE+mPR;;EkEjnPI;IAEI,0BAAA;ElEmnPR;;EkErnPI;IAEI,gCAAA;ElEunPR;;EkEznPI;IAEI,+BAAA;ElE2nPR;;EkE7nPI;IAEI,6BAAA;ElE+nPR;;EkEjoPI;IAEI,+BAAA;ElEmoPR;;EkEroPI;IAEI,6BAAA;ElEuoPR;;EkEzoPI;IAEI,2BAAA;ElE2oPR;;EkE7oPI;IAEI,4BAAA;ElE+oPR;;EkEjpPI;IAEI,6BAAA;ElEmpPR;AACF;AahoPI;EqDtBE;IAEI,sBAAA;ElEwpPR;;EkE1pPI;IAEI,uBAAA;ElE4pPR;;EkE9pPI;IAEI,sBAAA;ElEgqPR;;EkElqPI;IAEI,0BAAA;ElEoqPR;;EkEtqPI;IAEI,gCAAA;ElEwqPR;;EkE1qPI;IAEI,yBAAA;ElE4qPR;;EkE9qPI;IAEI,wBAAA;ElEgrPR;;EkElrPI;IAEI,yBAAA;ElEorPR;;EkEtrPI;IAEI,6BAAA;ElEwrPR;;EkE1rPI;IAEI,8BAAA;ElE4rPR;;EkE9rPI;IAEI,wBAAA;ElEgsPR;;EkElsPI;IAEI,+BAAA;ElEosPR;;EkEtsPI;IAEI,wBAAA;ElEwsPR;;EkE1sPI;IAEI,yBAAA;ElE4sPR;;EkE9sPI;IAEI,8BAAA;ElEgtPR;;EkEltPI;IAEI,iCAAA;ElEotPR;;EkEttPI;IAEI,sCAAA;ElEwtPR;;EkE1tPI;IAEI,yCAAA;ElE4tPR;;EkE9tPI;IAEI,uBAAA;ElEguPR;;EkEluPI;IAEI,uBAAA;ElEouPR;;EkEtuPI;IAEI,yBAAA;ElEwuPR;;EkE1uPI;IAEI,yBAAA;ElE4uPR;;EkE9uPI;IAEI,0BAAA;ElEgvPR;;EkElvPI;IAEI,4BAAA;ElEovPR;;EkEtvPI;IAEI,kCAAA;ElEwvPR;;EkE1vPI;IAEI,iBAAA;ElE4vPR;;EkE9vPI;IAEI,uBAAA;ElEgwPR;;EkElwPI;IAEI,sBAAA;ElEowPR;;EkEtwPI;IAEI,oBAAA;ElEwwPR;;EkE1wPI;IAEI,sBAAA;ElE4wPR;;EkE9wPI;IAEI,oBAAA;ElEgxPR;;EkElxPI;IAEI,sCAAA;ElEoxPR;;EkEtxPI;IAEI,oCAAA;ElEwxPR;;EkE1xPI;IAEI,kCAAA;ElE4xPR;;EkE9xPI;IAEI,yCAAA;ElEgyPR;;EkElyPI;IAEI,wCAAA;ElEoyPR;;EkEtyPI;IAEI,wCAAA;ElEwyPR;;EkE1yPI;IAEI,kCAAA;ElE4yPR;;EkE9yPI;IAEI,gCAAA;ElEgzPR;;EkElzPI;IAEI,8BAAA;ElEozPR;;EkEtzPI;IAEI,gCAAA;ElEwzPR;;EkE1zPI;IAEI,+BAAA;ElE4zPR;;EkE9zPI;IAEI,oCAAA;ElEg0PR;;EkEl0PI;IAEI,kCAAA;ElEo0PR;;EkEt0PI;IAEI,gCAAA;ElEw0PR;;EkE10PI;IAEI,uCAAA;ElE40PR;;EkE90PI;IAEI,sCAAA;ElEg1PR;;EkEl1PI;IAEI,iCAAA;ElEo1PR;;EkEt1PI;IAEI,2BAAA;ElEw1PR;;EkE11PI;IAEI,iCAAA;ElE41PR;;EkE91PI;IAEI,+BAAA;ElEg2PR;;EkEl2PI;IAEI,6BAAA;ElEo2PR;;EkEt2PI;IAEI,+BAAA;ElEw2PR;;EkE12PI;IAEI,8BAAA;ElE42PR;;EkE92PI;IAEI,oBAAA;ElEg3PR;;EkEl3PI;IAEI,mBAAA;ElEo3PR;;EkEt3PI;IAEI,mBAAA;ElEw3PR;;EkE13PI;IAEI,mBAAA;ElE43PR;;EkE93PI;IAEI,mBAAA;ElEg4PR;;EkEl4PI;IAEI,mBAAA;ElEo4PR;;EkEt4PI;IAEI,mBAAA;ElE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23QR;;EkE73QI;IAEI,4BAAA;ElE+3QR;;EkEj4QI;IAEI,kCAAA;ElEm4QR;;EkEr4QI;IAEI,iBAAA;ElEu4QR;;EkEz4QI;IAEI,uBAAA;ElE24QR;;EkE74QI;IAEI,sBAAA;ElE+4QR;;EkEj5QI;IAEI,oBAAA;ElEm5QR;;EkEr5QI;IAEI,sBAAA;ElEu5QR;;EkEz5QI;IAEI,oBAAA;ElE25QR;;EkE75QI;IAEI,sCAAA;ElE+5QR;;EkEj6QI;IAEI,oCAAA;ElEm6QR;;EkEr6QI;IAEI,kCAAA;ElEu6QR;;EkEz6QI;IAEI,yCAAA;ElE26QR;;EkE76QI;IAEI,wCAAA;ElE+6QR;;EkEj7QI;IAEI,wCAAA;ElEm7QR;;EkEr7QI;IAEI,kCAAA;ElEu7QR;;EkEz7QI;IAEI,gCAAA;ElE27QR;;EkE77QI;IAEI,8BAAA;ElE+7QR;;EkEj8QI;IAEI,gCAAA;ElEm8QR;;EkEr8QI;IAEI,+BAAA;ElEu8QR;;EkEz8QI;IAEI,oCAAA;ElE28QR;;EkE78QI;IAEI,kCAAA;ElE+8QR;;EkEj9QI;IAEI,gCAAA;ElEm9QR;;EkEr9QI;IAEI,uCAAA;ElEu9QR;;EkEz9QI;IAEI,sCAAA;ElE29QR;;EkE79QI;IAEI,iCAAA;ElE+9QR;;EkEj+QI;IAEI,2BAAA;ElEm+QR;;EkEr+QI;IAEI,iCAAA;ElEu+QR;;EkEz+QI;IAEI,+BAAA;ElE2+QR;;EkE7+QI;IAEI,6BAAA;ElE++QR;;EkEj/QI;IAEI,+BAAA;ElEm/QR;;EkEr/QI;IAEI,8BAAA;ElEu/QR;;EkEz/QI;IAEI,oBAAA;ElE2/QR;;EkE7/QI;IAEI,mBAAA;ElE+/QR;;EkEjgRI;IAEI,mBAAA;ElEmgRR;;EkErgRI;IAEI,mBAAA;ElEugRR;;EkEzgRI;IAEI,mBAAA;ElE2gRR;;EkE7gRI;IAEI,mBAAA;ElE+gRR;;EkEjhRI;IAEI,mBAAA;ElEmhRR;;EkErhRI;IAEI,mBAAA;ElEuhRR;;EkEzhRI;IAEI,oBAAA;ElE2hRR;;EkE7hRI;IAEI,0BAAA;ElE+hRR;;EkEjiRI;IAEI,yBAAA;ElEmiRR;;EkEriRI;IAEI,uBAAA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;ElE0hSR;;EkE5hSI;IAEI,oBAAA;ElE8hSR;;EkEhiSI;IAEI,sBAAA;ElEkiSR;;EkEpiSI;IAEI,oBAAA;ElEsiSR;;EkExiSI;IAEI,sCAAA;ElE0iSR;;EkE5iSI;IAEI,oCAAA;ElE8iSR;;EkEhjSI;IAEI,kCAAA;ElEkjSR;;EkEpjSI;IAEI,yCAAA;ElEsjSR;;EkExjSI;IAEI,wCAAA;ElE0jSR;;EkE5jSI;IAEI,wCAAA;ElE8jSR;;EkEhkSI;IAEI,kCAAA;ElEkkSR;;EkEpkSI;IAEI,gCAAA;ElEskSR;;EkExkSI;IAEI,8BAAA;ElE0kSR;;EkE5kSI;IAEI,gCAAA;ElE8kSR;;EkEhlSI;IAEI,+BAAA;ElEklSR;;EkEplSI;IAEI,oCAAA;ElEslSR;;EkExlSI;IAEI,kCAAA;ElE0lSR;;EkE5lSI;IAEI,gCAAA;ElE8lSR;;EkEhmSI;IAEI,uCAAA;ElEkmSR;;EkEpmSI;IAEI,sCAAA;ElEsmSR;;EkExmSI;IAEI,iCAAA;ElE0mSR;;EkE5mSI;IAEI,2BAAA;ElE8mSR;;EkEhnSI;IAEI,iCAAA;ElEknSR;;EkEpnSI;IAEI,+BAAA;ElEsnSR;;EkExnSI;IAEI,6BAAA;ElE0nSR;;EkE5nSI;IAEI,+BAAA;ElE8nSR;;EkEhoSI;IAEI,8BAAA;ElEkoSR;;EkEpoSI;IAEI,oBAAA;ElEsoSR;;EkExoSI;IAEI,mBAAA;ElE0oSR;;EkE5oSI;IAEI,mBAAA;ElE8oSR;;EkEhpSI;IAEI,mBAAA;ElEkpSR;;EkEppSI;IAEI,mBAAA;ElEspSR;;EkExpSI;IAEI,mBAAA;ElE0pSR;;EkE5pSI;IAEI,mBAAA;ElE8pSR;;EkEhqSI;IAEI,mBAAA;ElEkqSR;;EkEpqSI;IAEI,oBAAA;ElEsqSR;;EkExqSI;IAEI,0BAAA;ElE0qSR;;EkE5qSI;IAEI,yBAAA;ElE8qSR;;EkEhrSI;IAEI,uBAAA;ElEkrSR;;EkEprSI;IAEI,yBAAA;ElEsrSR;;EkExrSI;IAEI,uBAAA;ElE0rSR;;EkE5rSI;IAEI,uBAAA;ElE8rSR;;EkEhsSI;IAEI,0BAAA;IAAA,yBAAA;ElEmsSR;;EkE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EkE9gTI;IAEI,+BAAA;ElEghTR;;EkElhTI;IAEI,0BAAA;ElEohTR;;EkEthTI;IAEI,gCAAA;ElEwhTR;;EkE1hTI;IAEI,+BAAA;ElE4hTR;;EkE9hTI;IAEI,6BAAA;ElEgiTR;;EkEliTI;IAEI,+BAAA;ElEoiTR;;EkEtiTI;IAEI,6BAAA;ElEwiTR;;EkE1iTI;IAEI,2BAAA;ElE4iTR;;EkE9iTI;IAEI,4BAAA;ElEgjTR;;EkEljTI;IAEI,6BAAA;ElEojTR;AACF;AajiTI;EqDtBE;IAEI,sBAAA;ElEyjTR;;EkE3jTI;IAEI,uBAAA;ElE6jTR;;EkE/jTI;IAEI,sBAAA;ElEikTR;;EkEnkTI;IAEI,0BAAA;ElEqkTR;;EkEvkTI;IAEI,gCAAA;ElEykTR;;EkE3kTI;IAEI,yBAAA;ElE6kTR;;EkE/kTI;IAEI,wBAAA;ElEilTR;;EkEnlTI;IAEI,yBAAA;ElEqlTR;;EkEvlTI;IAEI,6BAAA;ElEylTR;;EkE3lTI;IAEI,8BAAA;ElE6lTR;;EkE/lTI;IAEI,wBAAA;ElEimTR;;EkEnmTI;IAEI,+BAAA;ElEqmTR;;EkEvmTI;IAEI,wBAAA;ElEymTR;;EkE3mTI;IAEI,yBAAA;ElE6mTR;;EkE/mTI;IAEI,8BAAA;ElEinTR;;EkEnnTI;IAEI,iCAAA;ElEqnTR;;EkEvnTI;IAEI,sCAAA;ElEynTR;;EkE3nTI;IAEI,yCAAA;ElE6nTR;;EkE/nTI;IAEI,uBAAA;ElEioTR;;EkEnoTI;IAEI,uBAAA;ElEqoTR;;EkEvoTI;IAEI,yBAAA;ElEyoTR;;EkE3oTI;IAEI,yBAAA;ElE6oTR;;EkE/oTI;IAEI,0BAAA;ElEipTR;;EkEnpTI;IAEI,4BAAA;ElEqpTR;;EkEvpTI;IAEI,kCAAA;ElEypTR;;EkE3pTI;IAEI,iBAAA;ElE6pTR;;EkE/pTI;IAEI,uBAAA;ElEiqTR;;EkEnqTI;IAEI,sBAAA;ElEqqTR;;EkEvqTI;IAEI,oBAAA;ElEyqTR;;EkE3qTI;IAEI,sBAAA;ElE6qTR;;EkE/qTI;IAEI,oBAAA;ElEirTR;;EkEnrTI;IAEI,sCAAA;ElEqrTR;;EkEvrTI;IAEI,o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UR;;EkE7qUI;IAEI,+BAAA;ElE+qUR;;EkEjrUI;IAEI,6BAAA;ElEmrUR;;EkErrUI;IAEI,2BAAA;ElEurUR;;EkEzrUI;IAEI,4BAAA;ElE2rUR;;EkE7rUI;IAEI,6BAAA;ElE+rUR;AACF;AmExtUA;EDsBM;IAEI,4BAAA;ElEosUR;;EkEtsUI;IAEI,0BAAA;ElEwsUR;;EkE1sUI;IAEI,6BAAA;ElE4sUR;;EkE9sUI;IAEI,4BAAA;ElEgtUR;;EkEltUI;IAEI,4BAAA;ElEotUR;;EkEttUI;IAEI,0BAAA;ElEwtUR;;EkE1tUI;IAEI,6BAAA;ElE4tUR;;EkE9tUI;IAEI,4BAAA;ElEguUR;;EkEluUI;IAEI,4BAAA;ElEouUR;;EkEtuUI;IAEI,0BAAA;ElEwuUR;;EkE1uUI;IAEI,6BAAA;ElE4uUR;;EkE9uUI;IAEI,4BAAA;ElEgvUR;;EkElvUI;IAEI,4BAAA;ElEovUR;;EkEtvUI;IAEI,0BAAA;ElEwvUR;;EkE1vUI;IAEI,6BAAA;ElE4vUR;;EkE9vUI;IAEI,4BAAA;ElEgwUR;AACF;AmEtwUA;EDGM;IAEI,0BAAA;ElEqwUR;;EkEvwUI;IAEI,gCAAA;ElEywUR;;EkE3wUI;IAEI,yBAAA;ElE6wUR;;EkE/wUI;IAEI,wBAAA;ElEixUR;;EkEnxUI;IAEI,yBAAA;ElEqxUR;;EkEvxUI;IAEI,6BAAA;ElEyxUR;;EkE3xUI;IAEI,8BAAA;ElE6xUR;;EkE/xUI;IAEI,wBAAA;ElEiyUR;;EkEnyUI;IAEI,+BAAA;ElEqyUR;;EkEvyUI;IAEI,wBAAA;ElEyyUR;AACF","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: dotted 1px;\n outline: -webkit-focus-ring-color auto 5px;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n.blockquote-footer::before {\n content: \"— \";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.3333333333%;\n}\n\n.offset-2 {\n margin-left: 16.6666666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.3333333333%;\n}\n\n.offset-5 {\n margin-left: 41.6666666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.3333333333%;\n}\n\n.offset-8 {\n margin-left: 66.6666666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.3333333333%;\n}\n\n.offset-11 {\n margin-left: 91.6666666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-sm-5,\n.gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-md-5,\n.gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-lg-5,\n.gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xl-5,\n.gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.table {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));\n border-bottom-width: 1px;\n}\n.table > tbody {\n vertical-align: inherit;\n}\n.table > thead {\n vertical-align: bottom;\n}\n.table > :not(:last-child) > :last-child > * {\n border-bottom-color: currentColor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: 1px 0;\n}\n.table-bordered > :not(caption) > * > * {\n border-width: 0 1px;\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-bg: #cfe2ff;\n --bs-table-striped-bg: #c5d7f2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bacbe6;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfd1ec;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bacbe6;\n}\n\n.table-secondary {\n --bs-table-bg: #e2e3e5;\n --bs-table-striped-bg: #d7d8da;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #cbccce;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #d1d2d4;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #cbccce;\n}\n\n.table-success {\n --bs-table-bg: #d1e7dd;\n --bs-table-striped-bg: #c7dbd2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bcd0c7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #c1d6cc;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bcd0c7;\n}\n\n.table-info {\n --bs-table-bg: #cff4fc;\n --bs-table-striped-bg: #c5e8ef;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #badce3;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfe2e9;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #badce3;\n}\n\n.table-warning {\n --bs-table-bg: #fff3cd;\n --bs-table-striped-bg: #f2e7c3;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6dbb9;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ece1be;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #e6dbb9;\n}\n\n.table-danger {\n --bs-table-bg: #f8d7da;\n --bs-table-striped-bg: #eccccf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfc2c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5c7ca;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfc2c4;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #ecedee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfe0e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5e6e7;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfe0e1;\n}\n\n.table-dark {\n --bs-table-bg: #212529;\n --bs-table-striped-bg: #2c3034;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #373b3e;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #323539;\n --bs-table-hover-color: #fff;\n color: #fff;\n border-color: #373b3e;\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n appearance: none;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type=file] {\n overflow: hidden;\n}\n.form-control[type=file]:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: #212529;\n background-color: #fff;\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-control::-webkit-date-and-time-value {\n height: 1.5em;\n}\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n.form-control::file-selector-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n margin-inline-end: 0.75rem;\n color: #212529;\n background-color: #e9ecef;\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: 1px;\n border-radius: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: #dde0e3;\n}\n.form-control::-webkit-file-upload-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n margin-inline-end: 0.75rem;\n color: #212529;\n background-color: #e9ecef;\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: 1px;\n border-radius: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::-webkit-file-upload-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\n background-color: #dde0e3;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n.form-control-sm::file-selector-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n margin-inline-end: 0.5rem;\n}\n.form-control-sm::-webkit-file-upload-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n margin-inline-end: 0.5rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n.form-control-lg::file-selector-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n margin-inline-end: 1rem;\n}\n.form-control-lg::-webkit-file-upload-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n margin-inline-end: 1rem;\n}\n\ntextarea.form-control {\n min-height: calc(1.5em + 0.75rem + 2px);\n}\ntextarea.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\ntextarea.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.form-control-color {\n max-width: 3rem;\n height: auto;\n padding: 0.375rem;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n height: 1.5em;\n border-radius: 0.25rem;\n}\n.form-control-color::-webkit-color-swatch {\n height: 1.5em;\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n.form-select:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n padding-right: 0.75rem;\n background-image: none;\n}\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #212529;\n}\n\n.form-select-sm {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-input {\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: #fff;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n color-adjust: exact;\n transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-check-input {\n transition: none;\n }\n}\n.form-check-input[type=checkbox] {\n border-radius: 0.25em;\n}\n.form-check-input[type=radio] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-check-input:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.form-check-input:checked[type=checkbox] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type=radio] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-check-input[type=checkbox]:indeterminate {\n background-color: #0d6efd;\n border-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: 0.5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-position: left center;\n border-radius: 2em;\n}\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n.form-range:focus {\n outline: none;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: #b6d4fe;\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n.form-range::-moz-range-thumb:active {\n background-color: #b6d4fe;\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-select {\n height: calc(3.5rem + 2px);\n padding: 1rem 0.75rem;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n padding: 1rem 0.75rem;\n pointer-events: none;\n border: 1px solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-select ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus {\n z-index: 3;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #198754;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(25, 135, 84, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #198754;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #198754;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #198754;\n}\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #198754;\n}\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #198754;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #dc3545;\n}\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: #212529;\n}\n.btn-check:focus + .btn, .btn:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n}\n.btn-check:focus + .btn-primary, .btn-primary:focus {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0a58ca;\n border-color: #0a53be;\n}\n.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-secondary:hover {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n}\n.btn-check:focus + .btn-secondary, .btn-secondary:focus {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #565e64;\n border-color: #51585e;\n}\n.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n}\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #146c43;\n border-color: #13653f;\n}\n.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-info {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-info:hover {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n}\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {\n color: #000;\n background-color: #3dd5f3;\n border-color: #25cff2;\n}\n.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n.btn-info:disabled, .btn-info.disabled {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-warning {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-warning:hover {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n}\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {\n color: #000;\n background-color: #ffcd39;\n border-color: #ffc720;\n}\n.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n.btn-warning:disabled, .btn-warning.disabled {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n}\n.btn-check:focus + .btn-danger, .btn-danger:focus {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #b02a37;\n border-color: #a52834;\n}\n.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-light:hover {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n.btn-light:disabled, .btn-light.disabled {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n.btn-dark:hover {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n}\n.btn-check:focus + .btn-dark, .btn-dark:focus {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1a1e21;\n border-color: #191c1f;\n}\n.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #198754;\n border-color: #198754;\n}\n.btn-outline-success:hover {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #198754;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-outline-info:hover {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #0dcaf0;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n.btn-outline-warning:hover {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-outline-light:hover {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #212529;\n border-color: #212529;\n}\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #212529;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n.btn-link:hover {\n color: #0a58ca;\n}\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\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\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-xxl-right {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n.dropdown-item:hover, .dropdown-item:focus {\n color: #1e2125;\n background-color: #f8f9fa;\n}\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #212529;\n}\n\n.dropdown-menu-dark {\n color: #dee2e6;\n background-color: #343a40;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.dropdown-menu-dark .dropdown-item {\n color: #dee2e6;\n}\n.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n}\n.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {\n color: #fff;\n background-color: #0d6efd;\n}\n.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {\n color: #adb5bd;\n}\n.dropdown-menu-dark .dropdown-divider {\n border-color: rgba(0, 0, 0, 0.15);\n}\n.dropdown-menu-dark .dropdown-item-text {\n color: #dee2e6;\n}\n.dropdown-menu-dark .dropdown-header {\n color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:nth-child(n+3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n text-decoration: none;\n white-space: nowrap;\n}\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.25rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1rem 1rem;\n}\n\n.card-title {\n margin-bottom: 0.5rem;\n}\n\n.card-subtitle {\n margin-top: -0.25rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n.card-link + .card-link {\n margin-left: 1rem;\n}\n\n.card-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.5rem 1rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.5rem;\n margin-bottom: -0.5rem;\n margin-left: -0.5rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n.card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n.card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n.card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n.card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: 1rem 1.25rem;\n font-size: 1rem;\n color: #212529;\n background-color: transparent;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0;\n overflow-anchor: none;\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, border-radius 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button {\n transition: none;\n }\n}\n.accordion-button.collapsed {\n border-bottom-width: 0;\n}\n.accordion-button:not(.collapsed) {\n color: #0c63e4;\n background-color: #e7f1ff;\n}\n.accordion-button:not(.collapsed)::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n transform: rotate(180deg);\n}\n.accordion-button::after {\n flex-shrink: 0;\n width: 1.25rem;\n height: 1.25rem;\n margin-left: auto;\n content: \"\";\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-size: 1.25rem;\n transition: transform 0.2s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button::after {\n transition: none;\n }\n}\n.accordion-button:hover {\n z-index: 2;\n}\n.accordion-button:focus {\n z-index: 3;\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item:first-of-type .accordion-button {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.accordion-item:last-of-type .accordion-button.collapsed {\n border-bottom-width: 1px;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n.accordion-item:last-of-type .accordion-collapse {\n border-bottom-width: 1px;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.accordion-collapse {\n border: solid rgba(0, 0, 0, 0.125);\n border-width: 0 1px;\n}\n\n.accordion-body {\n padding: 1rem 1.25rem;\n}\n\n.accordion-flush .accordion-button {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n.accordion-flush .accordion-collapse {\n border-width: 0;\n}\n.accordion-flush .accordion-item:first-of-type .accordion-button {\n border-top-width: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed {\n border-bottom-width: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\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: #0a58ca;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n.page-link:focus {\n z-index: 3;\n color: #0a58ca;\n background-color: #e9ecef;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.35em 0.65em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 1rem 1rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n color: #084298;\n background-color: #cfe2ff;\n border-color: #b6d4fe;\n}\n.alert-primary .alert-link {\n color: #06357a;\n}\n\n.alert-secondary {\n color: #41464b;\n background-color: #e2e3e5;\n border-color: #d3d6d8;\n}\n.alert-secondary .alert-link {\n color: #34383c;\n}\n\n.alert-success {\n color: #0f5132;\n background-color: #d1e7dd;\n border-color: #badbcc;\n}\n.alert-success .alert-link {\n color: #0c4128;\n}\n\n.alert-info {\n color: #055160;\n background-color: #cff4fc;\n border-color: #b6effb;\n}\n.alert-info .alert-link {\n color: #04414d;\n}\n\n.alert-warning {\n color: #664d03;\n background-color: #fff3cd;\n border-color: #ffecb5;\n}\n.alert-warning .alert-link {\n color: #523e02;\n}\n\n.alert-danger {\n color: #842029;\n background-color: #f8d7da;\n border-color: #f5c2c7;\n}\n.alert-danger .alert-link {\n color: #6a1a21;\n}\n\n.alert-light {\n color: #636464;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n.alert-light .alert-link {\n color: #4f5050;\n}\n\n.alert-dark {\n color: #141619;\n background-color: #d3d3d4;\n border-color: #bcbebf;\n}\n.alert-dark .alert-link {\n color: #101214;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #084298;\n background-color: #cfe2ff;\n}\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #084298;\n background-color: #bacbe6;\n}\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #084298;\n border-color: #084298;\n}\n\n.list-group-item-secondary {\n color: #41464b;\n background-color: #e2e3e5;\n}\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #41464b;\n background-color: #cbccce;\n}\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #41464b;\n border-color: #41464b;\n}\n\n.list-group-item-success {\n color: #0f5132;\n background-color: #d1e7dd;\n}\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #0f5132;\n background-color: #bcd0c7;\n}\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #0f5132;\n border-color: #0f5132;\n}\n\n.list-group-item-info {\n color: #055160;\n background-color: #cff4fc;\n}\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #055160;\n background-color: #badce3;\n}\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #055160;\n border-color: #055160;\n}\n\n.list-group-item-warning {\n color: #664d03;\n background-color: #fff3cd;\n}\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #664d03;\n background-color: #e6dbb9;\n}\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #664d03;\n border-color: #664d03;\n}\n\n.list-group-item-danger {\n color: #842029;\n background-color: #f8d7da;\n}\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #842029;\n background-color: #dfc2c4;\n}\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #842029;\n border-color: #842029;\n}\n\n.list-group-item-light {\n color: #636464;\n background-color: #fefefe;\n}\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #636464;\n background-color: #e5e5e5;\n}\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #636464;\n border-color: #636464;\n}\n\n.list-group-item-dark {\n color: #141619;\n background-color: #d3d3d4;\n}\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #141619;\n background-color: #bebebf;\n}\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #141619;\n border-color: #141619;\n}\n\n.btn-close {\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: #000;\n background: transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\") center/1em auto no-repeat;\n border: 0;\n border-radius: 0.25rem;\n opacity: 0.5;\n}\n.btn-close:hover {\n color: #000;\n text-decoration: none;\n opacity: 0.75;\n}\n.btn-close:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n opacity: 1;\n}\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: 0.25;\n}\n\n.btn-close-white {\n filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n opacity: 0;\n border-radius: 0.25rem;\n}\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n.toast.showing {\n opacity: 1;\n}\n.toast.show {\n display: block;\n opacity: 1;\n}\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.5rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n.toast-header .btn-close {\n margin-right: -0.375rem;\n margin-left: 0.75rem;\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - 1rem);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n.modal-header .btn-close {\n padding: 0.5rem 0.5rem;\n margin: -0.5rem -0.5rem -0.5rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n\n .modal-dialog-scrollable {\n height: calc(100% - 3.5rem);\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n\n .modal-sm {\n max-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n.modal-xl {\n max-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: 0.9;\n}\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {\n padding: 0.4rem 0;\n}\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=top] .tooltip-arrow {\n bottom: 0;\n}\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {\n padding: 0 0.4rem;\n}\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=right] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {\n padding: 0.4rem 0;\n}\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow {\n top: 0;\n}\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {\n padding: 0 0.4rem;\n}\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=left] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\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}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=top] {\n margin-bottom: 0.5rem;\n}\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=top] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=top] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=right] {\n margin-left: 0.5rem;\n}\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=right] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=right] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=right] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {\n margin-top: 0.5rem;\n}\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=bottom] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=bottom] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f0f0f0;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=left] {\n margin-right: 0.5rem;\n}\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=left] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=left] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=left] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f0f0f0;\n border-bottom: 1px solid #d8d8d8;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 1rem 1rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n.carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.carousel-dark .carousel-indicators li {\n background-color: #000;\n}\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: 0.75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: 0.75s linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n.spinner-grow {\n animation-duration: 1.5s;\n }\n}\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n.link-primary:hover, .link-primary:focus {\n color: #0a58ca;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n.link-secondary:hover, .link-secondary:focus {\n color: #565e64;\n}\n\n.link-success {\n color: #198754;\n}\n.link-success:hover, .link-success:focus {\n color: #146c43;\n}\n\n.link-info {\n color: #0dcaf0;\n}\n.link-info:hover, .link-info:focus {\n color: #3dd5f3;\n}\n\n.link-warning {\n color: #ffc107;\n}\n.link-warning:hover, .link-warning:focus {\n color: #ffcd39;\n}\n\n.link-danger {\n color: #dc3545;\n}\n.link-danger:hover, .link-danger:focus {\n color: #b02a37;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n.link-light:hover, .link-light:focus {\n color: #f9fafb;\n}\n\n.link-dark {\n color: #212529;\n}\n.link-dark:hover, .link-dark:focus {\n color: #1a1e21;\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n}\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --aspect-ratio: calc(3 / 4 * 100%);\n}\n\n.ratio-16x9 {\n --aspect-ratio: calc(9 / 16 * 100%);\n}\n\n.ratio-21x9 {\n --aspect-ratio: calc(9 / 21 * 100%);\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n position: absolute !important;\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\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #212529 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 3rem !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #212529 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #212529 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: 0.2rem !important;\n}\n\n.rounded-2 {\n border-radius: 0.25rem !important;\n}\n\n.rounded-3 {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n\n .float-sm-right {\n float: right !important;\n }\n\n .float-sm-none {\n float: none !important;\n }\n\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-sm-0 {\n gap: 0 !important;\n }\n\n .gap-sm-1 {\n gap: 0.25rem !important;\n }\n\n .gap-sm-2 {\n gap: 0.5rem !important;\n }\n\n .gap-sm-3 {\n gap: 1rem !important;\n }\n\n .gap-sm-4 {\n gap: 1.5rem !important;\n }\n\n .gap-sm-5 {\n gap: 3rem !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n\n .mr-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ml-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n\n .text-sm-left {\n text-align: left !important;\n }\n\n .text-sm-right {\n text-align: right !important;\n }\n\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n\n .float-md-right {\n float: right !important;\n }\n\n .float-md-none {\n float: none !important;\n }\n\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-md-0 {\n gap: 0 !important;\n }\n\n .gap-md-1 {\n gap: 0.25rem !important;\n }\n\n .gap-md-2 {\n gap: 0.5rem !important;\n }\n\n .gap-md-3 {\n gap: 1rem !important;\n }\n\n .gap-md-4 {\n gap: 1.5rem !important;\n }\n\n .gap-md-5 {\n gap: 3rem !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .mr-md-0 {\n margin-right: 0 !important;\n }\n\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n\n .mr-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ml-md-0 {\n margin-left: 0 !important;\n }\n\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n\n .ml-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pr-md-0 {\n padding-right: 0 !important;\n }\n\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-md-0 {\n padding-left: 0 !important;\n }\n\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n\n .text-md-left {\n text-align: left !important;\n }\n\n .text-md-right {\n text-align: right !important;\n }\n\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n\n .float-lg-right {\n float: right !important;\n }\n\n .float-lg-none {\n float: none !important;\n }\n\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-lg-0 {\n gap: 0 !important;\n }\n\n .gap-lg-1 {\n gap: 0.25rem !important;\n }\n\n .gap-lg-2 {\n gap: 0.5rem !important;\n }\n\n .gap-lg-3 {\n gap: 1rem !important;\n }\n\n .gap-lg-4 {\n gap: 1.5rem !important;\n }\n\n .gap-lg-5 {\n gap: 3rem !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n\n .mr-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ml-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n\n .text-lg-left {\n text-align: left !important;\n }\n\n .text-lg-right {\n text-align: right !important;\n }\n\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n\n .float-xl-right {\n float: right !important;\n }\n\n .float-xl-none {\n float: none !important;\n }\n\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-xl-0 {\n gap: 0 !important;\n }\n\n .gap-xl-1 {\n gap: 0.25rem !important;\n }\n\n .gap-xl-2 {\n gap: 0.5rem !important;\n }\n\n .gap-xl-3 {\n gap: 1rem !important;\n }\n\n .gap-xl-4 {\n gap: 1.5rem !important;\n }\n\n .gap-xl-5 {\n gap: 3rem !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n\n .text-xl-left {\n text-align: left !important;\n }\n\n .text-xl-right {\n text-align: right !important;\n }\n\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n\n .float-xxl-right {\n float: right !important;\n }\n\n .float-xxl-none {\n float: none !important;\n }\n\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-xxl-0 {\n gap: 0 !important;\n }\n\n .gap-xxl-1 {\n gap: 0.25rem !important;\n }\n\n .gap-xxl-2 {\n gap: 0.5rem !important;\n }\n\n .gap-xxl-3 {\n gap: 1rem !important;\n }\n\n .gap-xxl-4 {\n gap: 1.5rem !important;\n }\n\n .gap-xxl-5 {\n gap: 3rem !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n\n .text-xxl-left {\n text-align: left !important;\n }\n\n .text-xxl-right {\n text-align: right !important;\n }\n\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-2 {\n font-size: 2rem !important;\n }\n\n .fs-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-4 {\n font-size: 1.5rem !important;\n }\n\n .fs-sm-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-sm-2 {\n font-size: 2rem !important;\n }\n\n .fs-sm-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-sm-4 {\n font-size: 1.5rem !important;\n }\n\n .fs-md-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-md-2 {\n font-size: 2rem !important;\n }\n\n .fs-md-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-md-4 {\n font-size: 1.5rem !important;\n }\n\n .fs-lg-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-lg-2 {\n font-size: 2rem !important;\n }\n\n .fs-lg-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-lg-4 {\n font-size: 1.5rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","/*!\n * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: dotted 1px;\n outline: -webkit-focus-ring-color auto 5px;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\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// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: left; // 2\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. 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\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n\n// Inherit font family and line height for file input buttons\n\n// stylelint-disable-next-line selector-pseudo-element-no-unknown\n::file-selector-button {\n font: inherit;\n}\n\n// 1. Change font properties to `inherit`\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !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$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer / 4,\n 2: $spacer / 2,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: scale-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-widths: (\n 0: 0,\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-pill: 50rem !default;\n\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n$headings-margin-bottom: $spacer / 2 !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: null !default;\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n\n$table-variants: (\n \"primary\": scale-color($primary, $table-bg-scale),\n \"secondary\": scale-color($secondary, $table-bg-scale),\n \"success\": scale-color($success, $table-bg-scale),\n \"info\": scale-color($info, $table-bg-scale),\n \"warning\": scale-color($warning, $table-bg-scale),\n \"danger\": scale-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.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.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: null !default;\n$nav-link-hover-color: null !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: $spacer / 4 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n// Cards\n\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer / 2 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y / 2 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: $spacer !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n// Accordion\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default;\n$accordion-bg: transparent !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: rgba($black, .125) !default;\n$accordion-border-radius: $border-radius !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: $accordion-bg !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer / 4 !default;\n$tooltip-padding-x: $spacer / 2 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: $spacer !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer / 2 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: $spacer / 2 !default;\n$breadcrumb-padding-x: $spacer !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-border-radius: $border-radius !default;\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n .display-#{$display} {\n @include font-size($font-size);\n font-weight: $display-font-weight;\n line-height: $display-line-height;\n }\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-font-size);\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\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: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof 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: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n --#{$variable-prefix}table-bg: #{$table-bg};\n --#{$variable-prefix}table-accent-bg: transparent;\n --#{$variable-prefix}table-striped-color: #{$table-striped-color};\n --#{$variable-prefix}table-striped-bg: #{$table-striped-bg};\n --#{$variable-prefix}table-active-color: #{$table-active-color};\n --#{$variable-prefix}table-active-bg: #{$table-active-bg};\n --#{$variable-prefix}table-hover-color: #{$table-hover-color};\n --#{$variable-prefix}table-hover-bg: #{$table-hover-bg};\n\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n border-color: $table-border-color;\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y $table-cell-padding-x;\n background-color: var(--#{$variable-prefix}table-bg);\n background-image: linear-gradient(var(--#{$variable-prefix}table-accent-bg), var(--#{$variable-prefix}table-accent-bg));\n border-bottom-width: $table-border-width;\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n\n // Highlight border color between thead, tbody and tfoot.\n > :not(:last-child) > :last-child > * {\n border-bottom-color: $table-group-separator-color;\n }\n}\n\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top {\n caption-side: top;\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n//\n// When borders are added on all sides of the cells, the corners can render odd when\n// these borders do not have the same color or if they are semi-transparent.\n// Therefor we add top and border bottoms to the `tr`s and left and right borders\n// to the `td`s or `th`s\n\n.table-bordered {\n > :not(caption) > * {\n border-width: $table-border-width 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 $table-border-width;\n }\n }\n}\n\n.table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-bottom-width: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) {\n --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-striped-bg);\n color: var(--#{$variable-prefix}table-striped-color);\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 --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-active-bg);\n color: var(--#{$variable-prefix}table-active-color);\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 --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-hover-bg);\n color: var(--#{$variable-prefix}table-hover-color);\n }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n @include table-variant($color, $value);\n}\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n","// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n .table-#{$state} {\n $color: color-contrast(opaque($body-bg, $background));\n $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n\n --#{$variable-prefix}table-bg: #{$background};\n --#{$variable-prefix}table-striped-bg: #{$striped-bg};\n --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)};\n --#{$variable-prefix}table-active-bg: #{$active-bg};\n --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)};\n --#{$variable-prefix}table-hover-bg: #{$hover-bg};\n --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)};\n\n color: $color;\n border-color: mix($color, $background, percentage($table-border-factor));\n }\n}\n// scss-docs-end table-variant\n","//\n// Labels\n//\n\n.form-label {\n margin-bottom: $form-label-margin-bottom;\n @include font-size($form-label-font-size);\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n color: $form-label-color;\n}\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n line-height: $input-line-height;\n color: $form-label-color;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Form text\n//\n\n.form-text {\n margin-top: $form-text-margin-top;\n @include font-size($form-text-font-size);\n font-style: $form-text-font-style;\n font-weight: $form-text-font-weight;\n color: $form-text-color;\n}\n","//\n// General form controls (plus a few specific high-level interventions)\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n appearance: none; // Fix appearance for date inputs in Safari\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // 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 &::-webkit-date-and-time-value {\n // Multiply line-height by 1em if it has no unit\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only 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 &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // File input buttons theming\n // stylelint-disable-next-line selector-pseudo-element-no-unknown\n &::file-selector-button {\n padding: $input-padding-y $input-padding-x;\n margin: (-$input-padding-y) (-$input-padding-x);\n margin-inline-end: $input-padding-x;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: $input-border-width;\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition($btn-transition);\n }\n\n // stylelint-disable-next-line selector-pseudo-element-no-unknown\n &:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: $form-file-button-hover-bg;\n }\n\n &::-webkit-file-upload-button {\n padding: $input-padding-y $input-padding-x;\n margin: (-$input-padding-y) (-$input-padding-x);\n margin-inline-end: $input-padding-x;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: $input-border-width;\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition($btn-transition);\n }\n\n &:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\n background-color: $form-file-button-hover-bg;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n\n // stylelint-disable-next-line selector-pseudo-element-no-unknown\n &::file-selector-button {\n padding: $input-padding-y-sm $input-padding-x-sm;\n margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n margin-inline-end: $input-padding-x-sm;\n }\n\n &::-webkit-file-upload-button {\n padding: $input-padding-y-sm $input-padding-x-sm;\n margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n margin-inline-end: $input-padding-x-sm;\n }\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n\n // stylelint-disable-next-line selector-pseudo-element-no-unknown\n &::file-selector-button {\n padding: $input-padding-y-lg $input-padding-x-lg;\n margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n margin-inline-end: $input-padding-x-lg;\n }\n\n &::-webkit-file-upload-button {\n padding: $input-padding-y-lg $input-padding-x-lg;\n margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n margin-inline-end: $input-padding-x-lg;\n }\n}\n\n// Make sure textareas don't shrink too much when resized\n// https://github.com/twbs/bootstrap/pull/29124\n// stylelint-disable selector-no-qualifying-type\ntextarea {\n &.form-control {\n min-height: $input-height;\n }\n\n &.form-control-sm {\n min-height: $input-height-sm;\n }\n\n &.form-control-lg {\n min-height: $input-height-lg;\n }\n}\n// stylelint-enable selector-no-qualifying-type\n\n.form-control-color {\n max-width: 3rem;\n height: auto; // Override fixed browser height\n padding: $input-padding-y;\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n\n &::-moz-color-swatch {\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n @include border-radius($input-border-radius);\n }\n\n &::-webkit-color-swatch {\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n @include border-radius($input-border-radius);\n }\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--#{$variable-prefix}gradient);\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $form-select-focus-box-shadow;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: $form-check-input-border;\n appearance: none;\n color-adjust: exact; // Keep themed appearance for print\n @include transition($form-check-transition);\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $form-check-radio-border-radius;\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n border-color: $form-check-input-indeterminate-border-color;\n\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n }\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: $form-check-input-disabled-opacity;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n opacity: $form-check-label-disabled-opacity;\n }\n }\n}\n\n.form-check-label {\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-position: left center;\n @include border-radius($form-switch-border-radius);\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n\n &[disabled],\n &:disabled {\n + .btn {\n pointer-events: none;\n filter: none;\n opacity: $form-check-btn-check-disabled-opacity;\n }\n }\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n",".form-floating {\n position: relative;\n\n > .form-control,\n > .form-select {\n height: $form-floating-height;\n padding: $form-floating-padding-y $form-floating-padding-x;\n }\n\n > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%; // allow textareas\n padding: $form-floating-padding-y $form-floating-padding-x;\n pointer-events: none;\n border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n transform-origin: 0 0;\n @include transition($form-floating-transition);\n }\n\n // stylelint-disable no-duplicate-selectors\n > .form-control {\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n }\n\n > .form-select {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-select {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // stylelint-enable no-duplicate-selectors\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus {\n z-index: 3;\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $input-group-addon-font-weight;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n &:not(.has-validation) {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 3) {\n @include border-right-radius(0);\n }\n }\n\n &.has-validation {\n > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 4) {\n @include border-right-radius(0);\n }\n }\n\n $validation-messages: \"\";\n @each $state in map-keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + unquote($state) + \"-tooltip)\" + \":not(.\" + unquote($state) + \"-feedback)\";\n }\n\n > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n margin-left: -$input-border-width;\n @include border-left-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-contrast($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\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: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, $input-btn-focus-color-opacity);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n}\n","// 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// scss-docs-start form-validation-states-loop\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n// scss-docs-end form-validation-states-loop\n","//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n .btn-check:focus + &,\n &:focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n pointer-events: none;\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: if($color == $color-contrast-light, shade-color($background, 15%), tint-color($background, 15%)),\n $hover-border: if($color == $color-contrast-light, shade-color($border, 20%), tint-color($border, 10%)),\n $hover-color: color-contrast($hover-background),\n $active-background: if($color == $color-contrast-light, shade-color($background, 20%), tint-color($background, 20%)),\n $active-border: if($color == $color-contrast-light, shade-color($border, 25%), tint-color($border, 10%)),\n $active-color: color-contrast($active-background),\n $disabled-background: $background,\n $disabled-border: $border,\n $disabled-color: color-contrast($disabled-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $disabled-color;\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n &.dropdown-toggle.show {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: transparent;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\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","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// scss-docs-start responsive-breakpoints\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n color: $dropdown-dark-color;\n background-color: $dropdown-dark-bg;\n border-color: $dropdown-dark-border-color;\n @include box-shadow($dropdown-dark-box-shadow);\n\n .dropdown-item {\n color: $dropdown-dark-link-color;\n\n &:hover,\n &:focus {\n color: $dropdown-dark-link-hover-color;\n @include gradient-bg($dropdown-dark-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-dark-link-active-color;\n @include gradient-bg($dropdown-dark-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-dark-link-disabled-color;\n }\n }\n\n .dropdown-divider {\n border-color: $dropdown-dark-divider-bg;\n }\n\n .dropdown-item-text {\n color: $dropdown-dark-link-color;\n }\n\n .dropdown-header {\n color: $dropdown-dark-header-color;\n }\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n }\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n > .btn-check:checked + .btn,\n > .btn-check:focus + .btn,\n > .btn:hover,\n > .btn:focus,\n > .btn:active,\n > .btn.active {\n z-index: 1;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n // The left radius should be 0 if the button is:\n // - the \"third or more\" child\n // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n // - part of a btn-group which isn't the first child\n > .btn:nth-child(n + 3),\n > :not(.btn-check) + .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n @include font-size($nav-link-font-size);\n font-weight: $nav-link-font-weight;\n color: $nav-link-color;\n text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\n color: $nav-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n @include gradient-bg($nav-pills-link-active-bg);\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n @include gradient-bg();\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-brand-margin-right;\n @include font-size($navbar-brand-font-size);\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n width: 100%;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n @include transition($navbar-toggler-transition);\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 $navbar-toggler-focus-width;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n // stylelint-disable-next-line scss/selector-no-union-class-name\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\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: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-y $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-title-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-title-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-cap-padding-y $card-cap-padding-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-cap-padding-y $card-cap-padding-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-cap-padding-x / 2;\n margin-bottom: -$card-cap-padding-y;\n margin-left: -$card-cap-padding-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-cap-padding-x / 2;\n margin-left: -$card-cap-padding-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $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 // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: $accordion-button-padding-y $accordion-button-padding-x;\n @include font-size($font-size-base);\n color: $accordion-button-color;\n background-color: $accordion-button-bg;\n border: $accordion-border-width solid $accordion-border-color;\n @include border-radius(0);\n overflow-anchor: none;\n @include transition($accordion-transition);\n\n &.collapsed {\n border-bottom-width: 0;\n }\n\n &:not(.collapsed) {\n color: $accordion-button-active-color;\n background-color: $accordion-button-active-bg;\n\n &::after {\n background-image: escape-svg($accordion-button-active-icon);\n transform: $accordion-icon-transform;\n }\n }\n\n // Accordion icon\n &::after {\n flex-shrink: 0;\n width: $accordion-icon-width;\n height: $accordion-icon-width;\n margin-left: auto;\n content: \"\";\n background-image: escape-svg($accordion-button-icon);\n background-repeat: no-repeat;\n background-size: $accordion-icon-width;\n @include transition($accordion-icon-transition);\n }\n\n &:hover {\n z-index: 2;\n }\n\n &:focus {\n z-index: 3;\n border-color: $accordion-button-focus-border-color;\n outline: 0;\n box-shadow: $accordion-button-focus-box-shadow;\n }\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n &:first-of-type {\n .accordion-button {\n @include border-top-radius($accordion-border-radius);\n }\n }\n\n &:last-of-type {\n .accordion-button {\n // Only set a border-radius on the last item if the accordion is collapsed\n &.collapsed {\n border-bottom-width: $accordion-border-width;\n @include border-bottom-radius($accordion-border-radius);\n }\n }\n\n .accordion-collapse {\n border-bottom-width: $accordion-border-width;\n @include border-bottom-radius($accordion-border-radius);\n }\n }\n}\n\n.accordion-collapse {\n border: solid $accordion-border-color;\n border-width: 0 $accordion-border-width;\n}\n\n.accordion-body {\n padding: $accordion-body-padding-y $accordion-body-padding-x;\n}\n\n\n// Flush accordion items\n//\n// Remove borders and border-radius to keep accordion items edge-to-edge.\n\n.accordion-flush {\n .accordion-button {\n border-right: 0;\n border-left: 0;\n @include border-radius(0);\n }\n\n .accordion-collapse {\n border-width: 0;\n }\n\n .accordion-item {\n &:first-of-type {\n .accordion-button {\n border-top-width: 0;\n @include border-top-radius(0);\n }\n }\n\n &:last-of-type {\n .accordion-button.collapsed {\n border-bottom-width: 0;\n @include border-bottom-radius(0);\n }\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n float: left; // Suppress inline spacings and underlining of the separator\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n @include transition($pagination-transition);\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n color: $pagination-focus-color;\n background-color: $pagination-focus-bg;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n @include gradient-bg($pagination-active-bg);\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $alert-dismissible-padding-r;\n\n // Adjust close link position\n .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: $stretched-link-z-index + 1;\n padding: $alert-padding-y * 1.25 $alert-padding-x;\n }\n}\n\n\n// scss-docs-start alert-modifiers\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $state, $value in $theme-colors {\n $background: scale-color($value, $alert-bg-scale);\n $border: scale-color($value, $alert-border-scale);\n $color: scale-color($value, $alert-color-scale);\n @if (contrast-ratio($background, $color) < $min-contrast-ratio) {\n $color: mix($value, color-contrast($background), abs($alert-color-scale));\n }\n .alert-#{$state} {\n @include alert-variant($background, $border, $color);\n }\n}\n// scss-docs-end alert-modifiers\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: shade-color($color, 20%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: $progress-bar-animation-timing progress-bar-stripes;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\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: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\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: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $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: $list-group-disabled-color;\n pointer-events: none;\n background-color: $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: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// scss-docs-start list-group-modifiers\n// List group contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $state, $value in $theme-colors {\n $background: scale-color($value, $list-group-item-bg-scale);\n $color: scale-color($value, $list-group-item-color-scale);\n @if (contrast-ratio($background, $color) < $min-contrast-ratio) {\n $color: mix($value, color-contrast($background), abs($alert-color-scale));\n }\n\n @include list-group-item-variant($state, $background, $color);\n}\n// scss-docs-end list-group-modifiers\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: shade-color($background, 10%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n","// transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n.btn-close {\n box-sizing: content-box;\n width: $btn-close-width;\n height: $btn-close-height;\n padding: $btn-close-padding-y $btn-close-padding-x;\n color: $btn-close-color;\n background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements\n border: 0; // for button elements\n @include border-radius();\n opacity: $btn-close-opacity;\n\n // Override <a>'s hover style\n &:hover {\n color: $btn-close-color;\n text-decoration: none;\n opacity: $btn-close-hover-opacity;\n }\n\n &:focus {\n outline: none;\n box-shadow: $btn-close-focus-shadow;\n opacity: $btn-close-focus-opacity;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: $btn-close-disabled-opacity;\n }\n}\n\n.btn-close-white {\n filter: $btn-close-white-filter;\n}\n",".toast {\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n\n .btn-close {\n margin-right: $toast-padding-x / -2;\n margin-left: $toast-padding-x;\n }\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: 100%;\n overflow: hidden;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .btn-close {\n padding: ($modal-header-padding-y / 2) ($modal-header-padding-x / 2);\n margin: ($modal-header-padding-y / -2) ($modal-header-padding-x / -2) ($modal-header-padding-y / -2) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n @include media-breakpoint-down($breakpoint) {\n .modal-fullscreen#{$postfix} {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border: 0;\n @include border-radius(0);\n }\n\n .modal-header {\n @include border-radius(0);\n }\n\n .modal-body {\n overflow-y: auto;\n }\n\n .modal-footer {\n @include border-radius(0);\n }\n }\n }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($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: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $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 {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($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: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\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: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid shade-color($popover-header-bg, 10%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right 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-left and .active.carousel-item-right 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-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n\n// Dark mode carousel\n\n.carousel-dark {\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n filter: $carousel-dark-control-icon-filter;\n }\n\n .carousel-indicators li {\n background-color: $carousel-dark-indicator-active-bg;\n }\n\n .carousel-caption {\n color: $carousel-dark-caption-color;\n }\n}\n","// scss-docs-start clearfix\n@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n// scss-docs-end clearfix\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: $spinner-animation-speed linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: $spinner-animation-speed linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n\n@if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: $spinner-animation-speed * 2;\n }\n }\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $link-shade-percentage != 0 {\n &:hover,\n &:focus {\n color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n }\n\n > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $aspect-ratios {\n .ratio-#{$key} {\n --aspect-ratio: #{$ratio};\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n}\n","//\n// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n @include visually-hidden();\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n position: absolute !important;\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\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin visually-hidden-focusable() {\n &:not(:focus) {\n @include visually-hidden();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap.min.css b/dist/css/bootstrap.min.css
index ae444e0988..0fc3adcfa7 100644
--- a/dist/css/bootstrap.min.css
+++ b/dist/css/bootstrap.min.css
@@ -1,7 +1,7 @@
-/*!
- * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)
+@charset "UTF-8";/*!
+ * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#343a40;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#024dbc}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;-ms-overflow-style:scrollbar}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit;white-space:normal}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x)/ -2);margin-left:calc(var(--bs-gutter-x)/ -2)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.333333%}.col-2{flex:0 0 auto;width:16.666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.333333%}.col-5{flex:0 0 auto;width:41.666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.333333%}.col-8{flex:0 0 auto;width:66.666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.333333%}.col-11{flex:0 0 auto;width:91.666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.333333%}.col-sm-2{flex:0 0 auto;width:16.666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.333333%}.col-sm-5{flex:0 0 auto;width:41.666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.333333%}.col-sm-8{flex:0 0 auto;width:66.666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.333333%}.col-sm-11{flex:0 0 auto;width:91.666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.333333%}.col-md-2{flex:0 0 auto;width:16.666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.333333%}.col-md-8{flex:0 0 auto;width:66.666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.333333%}.col-md-11{flex:0 0 auto;width:91.666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.333333%}.col-lg-2{flex:0 0 auto;width:16.666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.333333%}.col-lg-11{flex:0 0 auto;width:91.666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.333333%}.col-xl-2{flex:0 0 auto;width:16.666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.333333%}.col-xl-5{flex:0 0 auto;width:41.666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.333333%}.col-xl-8{flex:0 0 auto;width:66.666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.333333%}.col-xl-11{flex:0 0 auto;width:91.666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.333333%}.col-xxl-2{flex:0 0 auto;width:16.666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.333333%}.col-xxl-5{flex:0 0 auto;width:41.666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.333333%}.col-xxl-8{flex:0 0 auto;width:66.666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.333333%}.col-xxl-11{flex:0 0 auto;width:91.666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.333333%}.offset-xxl-2{margin-left:16.666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.333333%}.offset-xxl-5{margin-left:41.666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.333333%}.offset-xxl-8{margin-left:66.666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.333333%}.offset-xxl-11{margin-left:91.666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);background-image:linear-gradient(var(--bs-table-accent-bg),var(--bs-table-accent-bg));border-bottom-width:1px}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#bbd6fe;--bs-table-striped-bg:#b2cbf1;--bs-table-striped-color:#000;--bs-table-active-bg:#a8c1e5;--bs-table-active-color:#000;--bs-table-hover-bg:#adc6eb;--bs-table-hover-color:#000;color:#000;border-color:#a8c1e5}.table-secondary{--bs-table-bg:#d6d8db;--bs-table-striped-bg:#cbcdd0;--bs-table-striped-color:#000;--bs-table-active-bg:#c1c2c5;--bs-table-active-color:#000;--bs-table-hover-bg:#c6c8cb;--bs-table-hover-color:#000;color:#000;border-color:#c1c2c5}.table-success{--bs-table-bg:#bfddcf;--bs-table-striped-bg:#b5d2c5;--bs-table-striped-color:#000;--bs-table-active-bg:#acc7ba;--bs-table-active-color:#000;--bs-table-hover-bg:#b1ccbf;--bs-table-hover-color:#000;color:#000;border-color:#acc7ba}.table-info{--bs-table-bg:#bbf0fb;--bs-table-striped-bg:#b2e4ee;--bs-table-striped-color:#000;--bs-table-active-bg:#a8d8e2;--bs-table-active-color:#000;--bs-table-hover-bg:#addee8;--bs-table-hover-color:#000;color:#000;border-color:#a8d8e2}.table-warning{--bs-table-bg:#ffeeba;--bs-table-striped-bg:#f2e2b1;--bs-table-striped-color:#000;--bs-table-active-bg:#e6d6a7;--bs-table-active-color:#000;--bs-table-hover-bg:#ecdcac;--bs-table-hover-color:#000;color:#000;border-color:#e6d6a7}.table-danger{--bs-table-bg:#f5c6cb;--bs-table-striped-bg:#e9bcc1;--bs-table-striped-color:#000;--bs-table-active-bg:#ddb2b7;--bs-table-active-color:#000;--bs-table-hover-bg:#e3b7bc;--bs-table-hover-color:#000;color:#000;border-color:#ddb2b7}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#343a40;--bs-table-striped-bg:#3e444a;--bs-table-striped-color:#fff;--bs-table-active-bg:#484e53;--bs-table-active-color:#fff;--bs-table-hover-bg:#43494e;--bs-table-hover-color:#fff;color:#fff;border-color:#484e53}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus{color:#495057;background-color:#fff;border-color:#8bbafe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-color{max-width:3rem;padding:.375rem}.form-control-color::-moz-color-swatch{border-radius:.25rem}.form-control-color::-webkit-color-swatch{border-radius:.25rem}.form-select{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select:focus::-ms-value{color:#495057;background-color:#fff}.form-select[multiple],.form-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;transition:background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-check-input{transition:none}}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238bbafe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.form-file{--bs-form-file-height:calc(1.5em + 0.75rem + 2px);position:relative}.form-file-input{position:relative;z-index:2;width:100%;height:var(--bs-form-file-height);margin:0;opacity:0}.form-file-input:focus-within~.form-file-label{border-color:#8bbafe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-file-input:disabled~.form-file-label .form-file-text,.form-file-input[disabled]~.form-file-label .form-file-text{background-color:#e9ecef}.form-file-label{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;height:var(--bs-form-file-height);border-color:#ced4da;border-radius:.25rem}.form-file-text{display:block;flex-grow:1;padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;border-color:inherit;border-style:solid;border-width:1px;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.form-file-button{display:block;flex-shrink:0;padding:.375rem .75rem;margin-left:-1px;line-height:1.5;color:#495057;background-color:#e9ecef;border-color:inherit;border-style:solid;border-width:1px;border-top-right-radius:inherit;border-bottom-right-radius:inherit}.form-file-sm{--bs-form-file-height:calc(1.5em + 0.5rem + 2px);font-size:.875rem}.form-file-sm .form-file-button,.form-file-sm .form-file-text{padding:.25rem .5rem}.form-file-lg{--bs-form-file-height:calc(1.5em + 1rem + 2px);font-size:1.25rem}.form-file-lg .form-file-button,.form-file-lg .form-file-text{padding:.5rem 1rem}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bed8fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#bed8fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.25rem;margin-left:.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-ms-thumb{-ms-transition:none;transition:none}}.form-range::-ms-thumb:active{background-color:#bed8fe}.form-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.form-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.form-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-range:disabled::-ms-thumb{background-color:#adb5bd}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-file,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-file .form-file-input:focus~.form-file-label,.input-group>.form-select:focus{z-index:3}.input-group>.form-file>.form-file-input:focus{z-index:4}.input-group>.form-file:not(:last-child)>.form-file-label{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-file:not(:first-child)>.form-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.form-control{min-height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control{min-height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group>.dropdown-toggle:nth-last-child(n+3),.input-group>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.form-file-input.is-valid~.form-file-label,.was-validated .form-file-input:valid~.form-file-label{border-color:#198754}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.form-file-input.is-invalid~.form-file-label,.was-validated .form-file-input:invalid~.form-file-label{border-color:#dc3545}.form-file-input.is-invalid:focus~.form-file-label,.was-validated .form-file-input:invalid:focus~.form-file-label{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#025ce2;border-color:#0257d5}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#025ce2;border-color:#0257d5;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0257d5;border-color:#0252c9}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#136740;border-color:#115c39}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#136740;border-color:#115c39;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#115c39;border-color:#0f5133}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#2fd3f4;border-color:#23d0f3}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#2fd3f4;border-color:#23d0f3;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3cd5f4;border-color:#23d0f3}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffcb2d;border-color:#ffc721}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffcb2d;border-color:#ffc721;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffce3a;border-color:#ffc721}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .25rem rgba(82,88,93,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(52,58,64,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#024dbc}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.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;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-left{right:auto;left:0}.dropdown-menu-xxl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{align-items:center;width:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-collapse{display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-collapse{display:flex!important}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-collapse{display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-collapse{display:flex!important}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-collapse{display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.5rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#024dbc;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#024dbc;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;padding:1.25rem 1rem}.alert-primary{color:#073984;background-color:#cfe2ff;border-color:#bbd6fe}.alert-primary .alert-link{color:#042454}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary .alert-link{color:#202326}.alert-success{color:#0d462c;background-color:#d1e7dd;border-color:#bfddcf}.alert-success .alert-link{color:#051b11}.alert-info{color:#07697d;background-color:#cff4fc;border-color:#bbf0fb}.alert-info .alert-link{color:#04404d}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@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%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#073984;background-color:#bbd6fe}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#073984;background-color:#a2c7fe}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#073984;border-color:#073984}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#0d462c;background-color:#bfddcf}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0d462c;background-color:#aed4c3}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0d462c;border-color:#0d462c}.list-group-item-info{color:#07697d;background-color:#bbf0fb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#07697d;background-color:#a3ebfa}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#07697d;border-color:#07697d}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") no-repeat center center/1em auto;background-clip:content-box;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow,.bs-tooltip-right .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before,.bs-tooltip-right .tooltip-arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow,.bs-tooltip-left .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before,.bs-tooltip-left .tooltip-arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.popover-arrow,.bs-popover-right>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.popover-arrow::before,.bs-popover-right>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.popover-arrow::after,.bs-popover-right>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.popover-arrow,.bs-popover-left>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.popover-arrow::before,.bs-popover-left>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.popover-arrow::after,.bs-popover-left>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators li{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#024dbc}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#494f54}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#0d462c}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#54dbf6}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffd454}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#fff}.link-dark{color:#343a40}.link-dark:focus,.link-dark:hover{color:#121416}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--aspect-ratio:100%}.ratio-4x3{--aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.left-0{left:0!important}.left-50{left:50%!important}.left-100{left:100%!important}.right-0{right:0!important}.right-50{right:50%!important}.right-100{right:100%!important}.translate-middle{transform:translateX(-50%) translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.border-0{border-width:0!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.font-italic{font-style:italic!important}.font-normal{font-style:normal!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:.25rem!important}.mr-xxl-2{margin-right:.5rem!important}.mr-xxl-3{margin-right:1rem!important}.mr-xxl-4{margin-right:1.5rem!important}.mr-xxl-5{margin-right:3rem!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:.25rem!important}.ml-xxl-2{margin-left:.5rem!important}.ml-xxl-3{margin-left:1rem!important}.ml-xxl-4{margin-left:1.5rem!important}.ml-xxl-5{margin-left:3rem!important}.ml-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:.25rem!important}.pr-xxl-2{padding-right:.5rem!important}.pr-xxl-3{padding-right:1rem!important}.pr-xxl-4{padding-right:1.5rem!important}.pr-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:.25rem!important}.pl-xxl-2{padding-left:.5rem!important}.pl-xxl-3{padding-left:1rem!important}.pl-xxl-4{padding-left:1.5rem!important}.pl-xxl-5{padding-left:3rem!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
+ */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x)/ -2);margin-left:calc(var(--bs-gutter-x)/ -2)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.3333333333%}.col-xxl-2{flex:0 0 auto;width:16.6666666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.3333333333%}.col-xxl-5{flex:0 0 auto;width:41.6666666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.3333333333%}.col-xxl-8{flex:0 0 auto;width:66.6666666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.3333333333%}.col-xxl-11{flex:0 0 auto;width:91.6666666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.3333333333%}.offset-xxl-2{margin-left:16.6666666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.3333333333%}.offset-xxl-5{margin-left:41.6666666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.3333333333%}.offset-xxl-8{margin-left:66.6666666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.3333333333%}.offset-xxl-11{margin-left:91.6666666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);background-image:linear-gradient(var(--bs-table-accent-bg),var(--bs-table-accent-bg));border-bottom-width:1px}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;vertical-align:middle;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;transition:background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-check-input{transition:none}}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.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;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-left{right:auto;left:0}.dropdown-menu-xxl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{align-items:center;width:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-collapse{display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-collapse{display:flex!important}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-collapse{display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-collapse{display:flex!important}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-collapse{display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;background-color:transparent;border:1px solid rgba(0,0,0,.125);border-radius:0;overflow-anchor: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,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button.collapsed{border-bottom-width:0}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item:first-of-type .accordion-button{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-width:1px;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-collapse{border-bottom-width:1px;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-collapse{border:solid rgba(0,0,0,.125);border-width:0 1px}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-button{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item:first-of-type .accordion-button{border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed{border-bottom-width:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:.5rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@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%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow,.bs-tooltip-right .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before,.bs-tooltip-right .tooltip-arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow,.bs-tooltip-left .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before,.bs-tooltip-left .tooltip-arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.popover-arrow,.bs-popover-right>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.popover-arrow::before,.bs-popover-right>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.popover-arrow::after,.bs-popover-right>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.popover-arrow,.bs-popover-left>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.popover-arrow::before,.bs-popover-left>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.popover-arrow::after,.bs-popover-left>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid #d8d8d8;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators li{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--aspect-ratio:100%}.ratio-4x3{--aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.left-0{left:0!important}.left-50{left:50%!important}.left-100{left:100%!important}.right-0{right:0!important}.right-50{right:50%!important}.right-100{right:100%!important}.translate-middle{transform:translateX(-50%) translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-0{border-width:0!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:.25rem!important}.mr-xxl-2{margin-right:.5rem!important}.mr-xxl-3{margin-right:1rem!important}.mr-xxl-4{margin-right:1.5rem!important}.mr-xxl-5{margin-right:3rem!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:.25rem!important}.ml-xxl-2{margin-left:.5rem!important}.ml-xxl-3{margin-left:1rem!important}.ml-xxl-4{margin-left:1.5rem!important}.ml-xxl-5{margin-left:3rem!important}.ml-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:.25rem!important}.pr-xxl-2{padding-right:.5rem!important}.pr-xxl-3{padding-right:1rem!important}.pr-xxl-4{padding-right:1.5rem!important}.pr-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:.25rem!important}.pl-xxl-2{padding-left:.5rem!important}.pl-xxl-3{padding-left:1rem!important}.pl-xxl-4{padding-left:1.5rem!important}.pl-xxl-5{padding-left:3rem!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}.fs-sm-1{font-size:2.5rem!important}.fs-sm-2{font-size:2rem!important}.fs-sm-3{font-size:1.75rem!important}.fs-sm-4{font-size:1.5rem!important}.fs-md-1{font-size:2.5rem!important}.fs-md-2{font-size:2rem!important}.fs-md-3{font-size:1.75rem!important}.fs-md-4{font-size:1.5rem!important}.fs-lg-1{font-size:2.5rem!important}.fs-lg-2{font-size:2rem!important}.fs-lg-3{font-size:1.75rem!important}.fs-lg-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap.min.css.map b/dist/css/bootstrap.min.css.map
index 6817d96e87..be967030c6 100644
--- a/dist/css/bootstrap.min.css.map
+++ b/dist/css/bootstrap.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.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/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --bs-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --bs-#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --bs-font-sans-serif: #{inspect($font-family-sans-serif)};\n --bs-font-monospace: #{inspect($font-family-monospace)};\n --bs-gradient: #{$gradient};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\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\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n// 4. Disable auto-hiding scrollbar in legacy Edge to avoid overlap,\n// making it impossible to interact with the content\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n -ms-overflow-style: scrollbar; // 4\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\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// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. 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\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\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. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #343a40;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n@media (min-width: 1400px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {\n max-width: 1320px;\n }\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n.table {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));\n border-bottom-width: 1px;\n}\n\n.table > tbody {\n vertical-align: inherit;\n}\n\n.table > thead {\n vertical-align: bottom;\n}\n\n.table > :not(:last-child) > :last-child > * {\n border-bottom-color: currentColor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: 1px 0;\n}\n\n.table-bordered > :not(caption) > * > * {\n border-width: 0 1px;\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-bg: #bbd6fe;\n --bs-table-striped-bg: #b2cbf1;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #a8c1e5;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #adc6eb;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #a8c1e5;\n}\n\n.table-secondary {\n --bs-table-bg: #d6d8db;\n --bs-table-striped-bg: #cbcdd0;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #c1c2c5;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #c6c8cb;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #c1c2c5;\n}\n\n.table-success {\n --bs-table-bg: #bfddcf;\n --bs-table-striped-bg: #b5d2c5;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #acc7ba;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #b1ccbf;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #acc7ba;\n}\n\n.table-info {\n --bs-table-bg: #bbf0fb;\n --bs-table-striped-bg: #b2e4ee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #a8d8e2;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #addee8;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #a8d8e2;\n}\n\n.table-warning {\n --bs-table-bg: #ffeeba;\n --bs-table-striped-bg: #f2e2b1;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6d6a7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ecdcac;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #e6d6a7;\n}\n\n.table-danger {\n --bs-table-bg: #f5c6cb;\n --bs-table-striped-bg: #e9bcc1;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #ddb2b7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e3b7bc;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #ddb2b7;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #ecedee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfe0e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5e6e7;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfe0e1;\n}\n\n.table-dark {\n --bs-table-bg: #343a40;\n --bs-table-striped-bg: #3e444a;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #484e53;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #43494e;\n --bs-table-hover-color: #fff;\n color: #fff;\n border-color: #484e53;\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-input {\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: #fff;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: 1px solid rgba(0, 0, 0, 0.25);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-check-input {\n transition: none;\n }\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n border-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: .5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-position: left center;\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238bbafe'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.form-file {\n --bs-form-file-height: calc(1.5em + 0.75rem + 2px);\n position: relative;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: var(--bs-form-file-height);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text,\n.form-file-input:disabled ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: var(--bs-form-file-height);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-file-sm {\n --bs-form-file-height: calc(1.5em + 0.5rem + 2px);\n font-size: 0.875rem;\n}\n\n.form-file-sm .form-file-text,\n.form-file-sm .form-file-button {\n padding: 0.25rem 0.5rem;\n}\n\n.form-file-lg {\n --bs-form-file-height: calc(1.5em + 1rem + 2px);\n font-size: 1.25rem;\n}\n\n.form-file-lg .form-file-text,\n.form-file-lg .form-file-button {\n padding: 0.5rem 1rem;\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n -ms-transition: none;\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled {\n pointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file > .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-file:not(:last-child) > .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) > .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group > .dropdown-toggle:nth-last-child(n + 3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #198754;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(25, 135, 84, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #198754;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #198754;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #198754;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #198754;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #198754;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #198754;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\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\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n}\n\n.btn-check:focus + .btn, .btn:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.btn:disabled, .btn.disabled,\nfieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-check:focus + .btn-primary, .btn-primary:focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-check:checked + .btn-primary,\n.btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-check:checked + .btn-primary:focus,\n.btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-check:focus + .btn-secondary, .btn-secondary:focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-check:checked + .btn-secondary,\n.btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-check:checked + .btn-secondary:focus,\n.btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #136740;\n border-color: #115c39;\n}\n\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #136740;\n border-color: #115c39;\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-check:checked + .btn-success,\n.btn-check:active + .btn-success, .btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #115c39;\n border-color: #0f5133;\n}\n\n.btn-check:checked + .btn-success:focus,\n.btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-info {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-info:hover {\n color: #000;\n background-color: #2fd3f4;\n border-color: #23d0f3;\n}\n\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #000;\n background-color: #2fd3f4;\n border-color: #23d0f3;\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-check:checked + .btn-info,\n.btn-check:active + .btn-info, .btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #000;\n background-color: #3cd5f4;\n border-color: #23d0f3;\n}\n\n.btn-check:checked + .btn-info:focus,\n.btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-warning {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #000;\n background-color: #ffcb2d;\n border-color: #ffc721;\n}\n\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #000;\n background-color: #ffcb2d;\n border-color: #ffc721;\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-check:checked + .btn-warning,\n.btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #000;\n background-color: #ffce3a;\n border-color: #ffc721;\n}\n\n.btn-check:checked + .btn-warning:focus,\n.btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-check:focus + .btn-danger, .btn-danger:focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-check:checked + .btn-danger,\n.btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-check:checked + .btn-danger:focus,\n.btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #000;\n background-color: white;\n border-color: white;\n}\n\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #000;\n background-color: white;\n border-color: white;\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-check:checked + .btn-light,\n.btn-check:active + .btn-light, .btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #000;\n background-color: white;\n border-color: white;\n}\n\n.btn-check:checked + .btn-light:focus,\n.btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-check:focus + .btn-dark, .btn-dark:focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.25rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-check:checked + .btn-dark,\n.btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-check:checked + .btn-dark:focus,\n.btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-check:checked + .btn-outline-primary,\n.btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:checked + .btn-outline-primary:focus,\n.btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-check:checked + .btn-outline-secondary,\n.btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:checked + .btn-outline-secondary:focus,\n.btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #198754;\n border-color: #198754;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-check:checked + .btn-outline-success,\n.btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:checked + .btn-outline-success:focus,\n.btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #198754;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-outline-info:hover {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-check:checked + .btn-outline-info,\n.btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:checked + .btn-outline-info:focus,\n.btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #0dcaf0;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-check:checked + .btn-outline-warning,\n.btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:checked + .btn-outline-warning:focus,\n.btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-check:checked + .btn-outline-danger,\n.btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:checked + .btn-outline-danger:focus,\n.btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-check:checked + .btn-outline-light,\n.btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:checked + .btn-outline-light:focus,\n.btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {\n box-shadow: 0 0 0 0.25rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-check:checked + .btn-outline-dark,\n.btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-check:checked + .btn-outline-dark:focus,\n.btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n\n.btn-link:hover {\n color: #024dbc;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\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\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #212529;\n}\n\n.dropdown-menu-dark {\n color: #dee2e6;\n background-color: #343a40;\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {\n color: #adb5bd;\n}\n\n.dropdown-menu-dark .dropdown-divider {\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item-text {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-header {\n color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:nth-child(n + 3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n text-decoration: none;\n white-space: nowrap;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.25rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1rem 1rem;\n}\n\n.card-title {\n margin-bottom: 0.5rem;\n}\n\n.card-subtitle {\n margin-top: -0.25rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1rem;\n}\n\n.card-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.5rem 1rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.5rem;\n margin-bottom: -0.5rem;\n margin-left: -0.5rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\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\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n color: #024dbc;\n background-color: #e9ecef;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.35em 0.65em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 1rem 1rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #0d462c;\n background-color: #d1e7dd;\n border-color: #bfddcf;\n}\n\n.alert-success .alert-link {\n color: #051b11;\n}\n\n.alert-info {\n color: #07697d;\n background-color: #cff4fc;\n border-color: #bbf0fb;\n}\n\n.alert-info .alert-link {\n color: #04404d;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #0d462c;\n background-color: #bfddcf;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #0d462c;\n background-color: #aed4c3;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #0d462c;\n border-color: #0d462c;\n}\n\n.list-group-item-info {\n color: #07697d;\n background-color: #bbf0fb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #07697d;\n background-color: #a3ebfa;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #07697d;\n border-color: #07697d;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.btn-close {\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: #000;\n background: transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\") no-repeat center center/1em auto;\n background-clip: content-box;\n border: 0;\n border-radius: 0.25rem;\n opacity: 0.5;\n}\n\n.btn-close:hover {\n color: #000;\n text-decoration: none;\n opacity: 0.75;\n}\n\n.btn-close:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n opacity: 1;\n}\n\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n opacity: 0.25;\n}\n\n.btn-close-white {\n filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.5rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-header .btn-close {\n margin-right: -0.375rem;\n margin-left: 0.75rem;\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .btn-close {\n padding: 0.5rem 0.5rem;\n margin: -0.5rem -0.5rem -0.5rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-header {\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\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}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 1rem 1rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n\n.carousel-dark .carousel-indicators li {\n background-color: #000;\n}\n\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border 0.75s linear infinite;\n animation: spinner-border 0.75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow 0.75s linear infinite;\n animation: spinner-grow 0.75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #198754;\n}\n\n.link-success:hover, .link-success:focus {\n color: #0d462c;\n}\n\n.link-info {\n color: #0dcaf0;\n}\n\n.link-info:hover, .link-info:focus {\n color: #54dbf6;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ffd454;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: white;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n\n.ratio::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n}\n\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --aspect-ratio: calc(3 / 4 * 100%);\n}\n\n.ratio-16x9 {\n --aspect-ratio: calc(9 / 16 * 100%);\n}\n\n.ratio-21x9 {\n --aspect-ratio: calc(9 / 21 * 100%);\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 768px) {\n .sticky-md-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n position: absolute !important;\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\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.font-normal {\n font-style: normal !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n -ms-user-select: all !important;\n user-select: all !important;\n}\n\n.user-select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n -ms-user-select: auto !important;\n user-select: auto !important;\n}\n\n.user-select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n -ms-user-select: none !important;\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n .float-xxl-right {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n .text-xxl-left {\n text-align: left !important;\n }\n .text-xxl-right {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","/*!\n * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #343a40;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n -ms-overflow-style: scrollbar;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n@media (min-width: 1400px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {\n max-width: 1320px;\n }\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\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.666667%;\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.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\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.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\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.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\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.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n\n.table {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));\n border-bottom-width: 1px;\n}\n\n.table > tbody {\n vertical-align: inherit;\n}\n\n.table > thead {\n vertical-align: bottom;\n}\n\n.table > :not(:last-child) > :last-child > * {\n border-bottom-color: currentColor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: 1px 0;\n}\n\n.table-bordered > :not(caption) > * > * {\n border-width: 0 1px;\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-bg: #bbd6fe;\n --bs-table-striped-bg: #b2cbf1;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #a8c1e5;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #adc6eb;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #a8c1e5;\n}\n\n.table-secondary {\n --bs-table-bg: #d6d8db;\n --bs-table-striped-bg: #cbcdd0;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #c1c2c5;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #c6c8cb;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #c1c2c5;\n}\n\n.table-success {\n --bs-table-bg: #bfddcf;\n --bs-table-striped-bg: #b5d2c5;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #acc7ba;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #b1ccbf;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #acc7ba;\n}\n\n.table-info {\n --bs-table-bg: #bbf0fb;\n --bs-table-striped-bg: #b2e4ee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #a8d8e2;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #addee8;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #a8d8e2;\n}\n\n.table-warning {\n --bs-table-bg: #ffeeba;\n --bs-table-striped-bg: #f2e2b1;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6d6a7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ecdcac;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #e6d6a7;\n}\n\n.table-danger {\n --bs-table-bg: #f5c6cb;\n --bs-table-striped-bg: #e9bcc1;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #ddb2b7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e3b7bc;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #ddb2b7;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #ecedee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfe0e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5e6e7;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfe0e1;\n}\n\n.table-dark {\n --bs-table-bg: #343a40;\n --bs-table-striped-bg: #3e444a;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #484e53;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #43494e;\n --bs-table-hover-color: #fff;\n color: #fff;\n border-color: #484e53;\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n appearance: none;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-input {\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: #fff;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n color-adjust: exact;\n transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-check-input {\n transition: none;\n }\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n border-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: .5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-position: left center;\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238bbafe'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.form-file {\n --bs-form-file-height: calc(1.5em + 0.75rem + 2px);\n position: relative;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: var(--bs-form-file-height);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text,\n.form-file-input:disabled ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: var(--bs-form-file-height);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-file-sm {\n --bs-form-file-height: calc(1.5em + 0.5rem + 2px);\n font-size: 0.875rem;\n}\n\n.form-file-sm .form-file-text,\n.form-file-sm .form-file-button {\n padding: 0.25rem 0.5rem;\n}\n\n.form-file-lg {\n --bs-form-file-height: calc(1.5em + 1rem + 2px);\n font-size: 1.25rem;\n}\n\n.form-file-lg .form-file-text,\n.form-file-lg .form-file-button {\n padding: 0.5rem 1rem;\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled {\n pointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file > .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-file:not(:last-child) > .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) > .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group > .dropdown-toggle:nth-last-child(n + 3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #198754;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(25, 135, 84, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #198754;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #198754;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #198754;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #198754;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #198754;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #198754;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\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\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n}\n\n.btn-check:focus + .btn, .btn:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.btn:disabled, .btn.disabled,\nfieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-check:focus + .btn-primary, .btn-primary:focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-check:checked + .btn-primary,\n.btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-check:checked + .btn-primary:focus,\n.btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-check:focus + .btn-secondary, .btn-secondary:focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-check:checked + .btn-secondary,\n.btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-check:checked + .btn-secondary:focus,\n.btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #136740;\n border-color: #115c39;\n}\n\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #136740;\n border-color: #115c39;\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-check:checked + .btn-success,\n.btn-check:active + .btn-success, .btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #115c39;\n border-color: #0f5133;\n}\n\n.btn-check:checked + .btn-success:focus,\n.btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-info {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-info:hover {\n color: #000;\n background-color: #2fd3f4;\n border-color: #23d0f3;\n}\n\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #000;\n background-color: #2fd3f4;\n border-color: #23d0f3;\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-check:checked + .btn-info,\n.btn-check:active + .btn-info, .btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #000;\n background-color: #3cd5f4;\n border-color: #23d0f3;\n}\n\n.btn-check:checked + .btn-info:focus,\n.btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-warning {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #000;\n background-color: #ffcb2d;\n border-color: #ffc721;\n}\n\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #000;\n background-color: #ffcb2d;\n border-color: #ffc721;\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-check:checked + .btn-warning,\n.btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #000;\n background-color: #ffce3a;\n border-color: #ffc721;\n}\n\n.btn-check:checked + .btn-warning:focus,\n.btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-check:focus + .btn-danger, .btn-danger:focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-check:checked + .btn-danger,\n.btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-check:checked + .btn-danger:focus,\n.btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #000;\n background-color: white;\n border-color: white;\n}\n\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #000;\n background-color: white;\n border-color: white;\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-check:checked + .btn-light,\n.btn-check:active + .btn-light, .btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #000;\n background-color: white;\n border-color: white;\n}\n\n.btn-check:checked + .btn-light:focus,\n.btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-check:focus + .btn-dark, .btn-dark:focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.25rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-check:checked + .btn-dark,\n.btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-check:checked + .btn-dark:focus,\n.btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-check:checked + .btn-outline-primary,\n.btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-check:checked + .btn-outline-primary:focus,\n.btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-check:checked + .btn-outline-secondary,\n.btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-check:checked + .btn-outline-secondary:focus,\n.btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #198754;\n border-color: #198754;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-check:checked + .btn-outline-success,\n.btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-check:checked + .btn-outline-success:focus,\n.btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #198754;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-outline-info:hover {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-check:checked + .btn-outline-info,\n.btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-check:checked + .btn-outline-info:focus,\n.btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #0dcaf0;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-check:checked + .btn-outline-warning,\n.btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-check:checked + .btn-outline-warning:focus,\n.btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-check:checked + .btn-outline-danger,\n.btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-check:checked + .btn-outline-danger:focus,\n.btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-check:checked + .btn-outline-light,\n.btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-check:checked + .btn-outline-light:focus,\n.btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {\n box-shadow: 0 0 0 0.25rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-check:checked + .btn-outline-dark,\n.btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-check:checked + .btn-outline-dark:focus,\n.btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n\n.btn-link:hover {\n color: #024dbc;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\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\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #212529;\n}\n\n.dropdown-menu-dark {\n color: #dee2e6;\n background-color: #343a40;\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {\n color: #adb5bd;\n}\n\n.dropdown-menu-dark .dropdown-divider {\n border-color: rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-menu-dark .dropdown-item-text {\n color: #dee2e6;\n}\n\n.dropdown-menu-dark .dropdown-header {\n color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:nth-child(n + 3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n text-decoration: none;\n white-space: nowrap;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.25rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1rem 1rem;\n}\n\n.card-title {\n margin-bottom: 0.5rem;\n}\n\n.card-subtitle {\n margin-top: -0.25rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1rem;\n}\n\n.card-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.5rem 1rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.5rem;\n margin-bottom: -0.5rem;\n margin-left: -0.5rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\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\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n color: #024dbc;\n background-color: #e9ecef;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.35em 0.65em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 1rem 1rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #0d462c;\n background-color: #d1e7dd;\n border-color: #bfddcf;\n}\n\n.alert-success .alert-link {\n color: #051b11;\n}\n\n.alert-info {\n color: #07697d;\n background-color: #cff4fc;\n border-color: #bbf0fb;\n}\n\n.alert-info .alert-link {\n color: #04404d;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #0d462c;\n background-color: #bfddcf;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #0d462c;\n background-color: #aed4c3;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #0d462c;\n border-color: #0d462c;\n}\n\n.list-group-item-info {\n color: #07697d;\n background-color: #bbf0fb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #07697d;\n background-color: #a3ebfa;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #07697d;\n border-color: #07697d;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.btn-close {\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: #000;\n background: transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 16 16'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\") no-repeat center center/1em auto;\n background-clip: content-box;\n border: 0;\n border-radius: 0.25rem;\n opacity: 0.5;\n}\n\n.btn-close:hover {\n color: #000;\n text-decoration: none;\n opacity: 0.75;\n}\n\n.btn-close:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n opacity: 1;\n}\n\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: 0.25;\n}\n\n.btn-close-white {\n filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.5rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-header .btn-close {\n margin-right: -0.375rem;\n margin-left: 0.75rem;\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .btn-close {\n padding: 0.5rem 0.5rem;\n margin: -0.5rem -0.5rem -0.5rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-header {\n border-radius: 0;\n}\n\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\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}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 1rem 1rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n\n.carousel-dark .carousel-indicators li {\n background-color: #000;\n}\n\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border 0.75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow 0.75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #198754;\n}\n\n.link-success:hover, .link-success:focus {\n color: #0d462c;\n}\n\n.link-info {\n color: #0dcaf0;\n}\n\n.link-info:hover, .link-info:focus {\n color: #54dbf6;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ffd454;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: white;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n\n.ratio::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n}\n\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --aspect-ratio: calc(3 / 4 * 100%);\n}\n\n.ratio-16x9 {\n --aspect-ratio: calc(9 / 16 * 100%);\n}\n\n.ratio-21x9 {\n --aspect-ratio: calc(9 / 21 * 100%);\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n position: absolute !important;\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\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.font-normal {\n font-style: normal !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n .float-xxl-right {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n .text-xxl-left {\n text-align: left !important;\n }\n .text-xxl-right {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n .display-#{$display} {\n @include font-size($font-size);\n font-weight: $display-font-weight;\n line-height: $display-line-height;\n }\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-font-size);\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --bs-gutter-x: #{$gutter};\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--bs-gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\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: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof 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: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\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 --bs-gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --bs-gutter-y: #{$value};\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n --bs-table-bg: #{$table-bg};\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #{$table-striped-color};\n --bs-table-striped-bg: #{$table-striped-bg};\n --bs-table-active-color: #{$table-active-color};\n --bs-table-active-bg: #{$table-active-bg};\n --bs-table-hover-color: #{$table-hover-color};\n --bs-table-hover-bg: #{$table-hover-bg};\n\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n border-color: $table-border-color;\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y $table-cell-padding-x;\n background-color: var(--bs-table-bg);\n background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));\n border-bottom-width: $table-border-width;\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n\n // Highlight border color between thead, tbody and tfoot.\n > :not(:last-child) > :last-child > * {\n border-bottom-color: $table-group-separator-color;\n }\n}\n\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top {\n caption-side: top;\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n//\n// When borders are added on all sides of the cells, the corners can render odd when\n// these borders do not have the same color or if they are semi-transparent.\n// Therefor we add top and border bottoms to the `tr`s and left and right borders\n// to the `td`s or `th`s\n\n.table-bordered {\n > :not(caption) > * {\n border-width: $table-border-width 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 $table-border-width;\n }\n }\n}\n\n.table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-bottom-width: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\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 --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\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 --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n @include table-variant($color, $value);\n}\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n","// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n .table-#{$state} {\n $color: color-contrast(opaque($body-bg, $background));\n $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n\n --bs-table-bg: #{$background};\n --bs-table-striped-bg: #{$striped-bg};\n --bs-table-striped-color: #{color-contrast($striped-bg)};\n --bs-table-active-bg: #{$active-bg};\n --bs-table-active-color: #{color-contrast($active-bg)};\n --bs-table-hover-bg: #{$hover-bg};\n --bs-table-hover-color: #{color-contrast($hover-bg)};\n\n color: $color;\n border-color: mix($color, $background, percentage($table-border-factor));\n }\n}\n// scss-docs-end table-variant\n","//\n// Labels\n//\n\n.form-label {\n margin-bottom: $form-label-margin-bottom;\n @include font-size($form-label-font-size);\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n color: $form-label-color;\n}\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n line-height: $input-line-height;\n color: $form-label-color;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Form text\n//\n\n.form-text {\n margin-top: $form-text-margin-top;\n @include font-size($form-text-font-size);\n font-style: $form-text-font-style;\n font-weight: $form-text-font-weight;\n color: $form-text-color;\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n appearance: none; // Fix appearance for date inputs in Safari\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only 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 &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: $form-check-input-border;\n appearance: none;\n color-adjust: exact; // Keep themed appearance for print\n @include transition($form-check-transition);\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $form-check-radio-border-radius;\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), var(--bs-gradient);\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), var(--bs-gradient);\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n border-color: $form-check-input-indeterminate-border-color;\n\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--bs-gradient);\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n }\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: .5;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-position: left center;\n @include border-radius($form-switch-border-radius);\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), var(--bs-gradient);\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n",".form-file {\n --bs-form-file-height: #{$form-file-height};\n position: relative;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: var(--bs-form-file-height);\n margin: 0;\n opacity: 0;\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-file-label .form-file-text,\n &:disabled ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: var(--bs-form-file-height);\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n\n.form-file-sm {\n --bs-form-file-height: #{$form-file-height-sm};\n @include font-size($form-file-font-size-sm);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-sm $form-file-padding-x-sm;\n }\n}\n\n.form-file-lg {\n --bs-form-file-height: #{$form-file-height-lg};\n @include font-size($form-file-font-size-lg);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-lg $form-file-padding-x-lg;\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--bs-gradient);\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file {\n > .form-file-input:focus {\n z-index: 4;\n }\n\n &:not(:last-child) > .form-file-label {\n @include border-right-radius(0);\n }\n\n &:not(:first-child) > .form-file-label {\n @include border-left-radius(0);\n }\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $input-group-addon-font-weight;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 3) {\n @include border-right-radius(0);\n }\n\n > :not(:first-child):not(.dropdown-menu) {\n margin-left: -$input-border-width;\n @include border-left-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-contrast($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\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: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, $input-btn-focus-color-opacity);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n .btn-check:focus + &,\n &:focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n pointer-events: none;\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: if($color == $color-contrast-light, darken($background, 7.5%), lighten($background, 7.5%)),\n $hover-border: if($color == $color-contrast-light, darken($border, 10%), lighten($border, 5%)),\n $hover-color: color-contrast($hover-background),\n $active-background: if($color == $color-contrast-light, darken($background, 10%), lighten($background, 10%)),\n $active-border: if($color == $color-contrast-light, darken($border, 12.5%), lighten($border, 5%)),\n $active-color: color-contrast($active-background),\n $disabled-background: $background,\n $disabled-border: $border,\n $disabled-color: color-contrast($disabled-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $disabled-color;\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n &.dropdown-toggle.show {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: transparent;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\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","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// scss-docs-start responsive-breakpoints\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n color: $dropdown-dark-color;\n background-color: $dropdown-dark-bg;\n border-color: $dropdown-dark-border-color;\n @include box-shadow($dropdown-dark-box-shadow);\n\n .dropdown-item {\n color: $dropdown-dark-link-color;\n\n &:hover,\n &:focus {\n color: $dropdown-dark-link-hover-color;\n @include gradient-bg($dropdown-dark-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-dark-link-active-color;\n @include gradient-bg($dropdown-dark-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-dark-link-disabled-color;\n }\n }\n\n .dropdown-divider {\n border-color: $dropdown-dark-divider-bg;\n }\n\n .dropdown-item-text {\n color: $dropdown-dark-link-color;\n }\n\n .dropdown-header {\n color: $dropdown-dark-header-color;\n }\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n }\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n > .btn-check:checked + .btn,\n > .btn-check:focus + .btn,\n > .btn:hover,\n > .btn:focus,\n > .btn:active,\n > .btn.active {\n z-index: 1;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n // The left radius should be 0 if the button is:\n // - the \"third or more\" child\n // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n // - part of a btn-group which isn't the first child\n > .btn:nth-child(n + 3),\n > :not(.btn-check) + .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n @include font-size($nav-link-font-size);\n font-weight: $nav-link-font-weight;\n color: $nav-link-color;\n text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\n color: $nav-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n @include gradient-bg($nav-pills-link-active-bg);\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n @include gradient-bg();\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-brand-margin-right;\n @include font-size($navbar-brand-font-size);\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n width: 100%;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n @include transition($navbar-toggler-transition);\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 $navbar-toggler-focus-width;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n // stylelint-disable-next-line scss/selector-no-union-class-name\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\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: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-y $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-title-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-title-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-cap-padding-y $card-cap-padding-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-cap-padding-y $card-cap-padding-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-cap-padding-x / 2;\n margin-bottom: -$card-cap-padding-y;\n margin-left: -$card-cap-padding-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-cap-padding-x / 2;\n margin-left: -$card-cap-padding-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $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 // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n @include transition($pagination-transition);\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n color: $pagination-focus-color;\n background-color: $pagination-focus-bg;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n @include gradient-bg($pagination-active-bg);\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $alert-dismissible-padding-r;\n\n // Adjust close link position\n .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y * 1.25 $alert-padding-x;\n }\n}\n\n\n// scss-docs-start alert-modifiers\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n// scss-docs-end alert-modifiers\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\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: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\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: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $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: $list-group-disabled-color;\n pointer-events: none;\n background-color: $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: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// scss-docs-start list-group-modifiers\n// List group contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, $list-group-item-bg-level), color-level($value, $list-group-item-color-level));\n}\n// scss-docs-end list-group-modifiers\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n","// transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n.btn-close {\n box-sizing: content-box;\n width: $btn-close-width;\n height: $btn-close-height;\n padding: $btn-close-padding-y $btn-close-padding-x;\n color: $btn-close-color;\n background: transparent escape-svg($btn-close-bg) no-repeat center center / $btn-close-width auto; // include transparent for button elements\n background-clip: content-box;\n border: 0; // for button elements\n @include border-radius();\n opacity: $btn-close-opacity;\n\n // Override <a>'s hover style\n &:hover {\n color: $btn-close-color;\n text-decoration: none;\n opacity: $btn-close-hover-opacity;\n }\n\n &:focus {\n outline: none;\n box-shadow: $btn-close-focus-shadow;\n opacity: $btn-close-focus-opacity;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: $btn-close-disabled-opacity;\n }\n}\n\n.btn-close-white {\n filter: $btn-close-white-filter;\n}\n",".toast {\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n\n .btn-close {\n margin-right: $toast-padding-x / -2;\n margin-left: $toast-padding-x;\n }\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: 100%;\n overflow: hidden;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .btn-close {\n padding: ($modal-header-padding-y / 2) ($modal-header-padding-x / 2);\n margin: ($modal-header-padding-y / -2) ($modal-header-padding-x / -2) ($modal-header-padding-y / -2) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n @include media-breakpoint-down($breakpoint) {\n .modal-fullscreen#{$postfix} {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border: 0;\n @include border-radius(0);\n }\n\n .modal-header {\n @include border-radius(0);\n }\n\n .modal-body {\n overflow-y: auto;\n }\n\n .modal-footer {\n @include border-radius(0);\n }\n }\n }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($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: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $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 {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($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: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\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: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right 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-left and .active.carousel-item-right 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-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n\n// Dark mode carousel\n\n.carousel-dark {\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n filter: $carousel-dark-control-icon-filter;\n }\n\n .carousel-indicators li {\n background-color: $carousel-dark-indicator-active-bg;\n }\n\n .carousel-caption {\n color: $carousel-dark-caption-color;\n }\n}\n","// scss-docs-start clearfix\n@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n// scss-docs-end clearfix\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: spinner-border $spinner-animation-speed linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow $spinner-animation-speed linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: if(color-contrast($value) == $color-contrast-light, darken($value, $emphasized-link-hover-darken-percentage), lighten($value, $emphasized-link-hover-darken-percentage));\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n }\n\n > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $aspect-ratios {\n .ratio-#{$key} {\n --aspect-ratio: #{$ratio};\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n}\n","//\n// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n @include visually-hidden();\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n position: absolute !important;\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\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin visually-hidden-focusable() {\n &:not(:focus) {\n @include visually-hidden();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_accordion.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.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/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: dotted 1px;\n outline: -webkit-focus-ring-color auto 5px;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\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// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: left; // 2\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. 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\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n\n// Inherit font family and line height for file input buttons\n\n// stylelint-disable-next-line selector-pseudo-element-no-unknown\n::file-selector-button {\n font: inherit;\n}\n\n// 1. Change font properties to `inherit`\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","@charset \"UTF-8\";\n/*!\n * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: dotted 1px;\n outline: -webkit-focus-ring-color auto 5px;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n.blockquote-footer::before {\n content: \"— \";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.3333333333%;\n}\n\n.offset-2 {\n margin-left: 16.6666666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.3333333333%;\n}\n\n.offset-5 {\n margin-left: 41.6666666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.3333333333%;\n}\n\n.offset-8 {\n margin-left: 66.6666666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.3333333333%;\n}\n\n.offset-11 {\n margin-left: 91.6666666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-sm-5,\n.gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-md-5,\n.gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-lg-5,\n.gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xl-5,\n.gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.table {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));\n border-bottom-width: 1px;\n}\n.table > tbody {\n vertical-align: inherit;\n}\n.table > thead {\n vertical-align: bottom;\n}\n.table > :not(:last-child) > :last-child > * {\n border-bottom-color: currentColor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: 1px 0;\n}\n.table-bordered > :not(caption) > * > * {\n border-width: 0 1px;\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-bg: #cfe2ff;\n --bs-table-striped-bg: #c5d7f2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bacbe6;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfd1ec;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bacbe6;\n}\n\n.table-secondary {\n --bs-table-bg: #e2e3e5;\n --bs-table-striped-bg: #d7d8da;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #cbccce;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #d1d2d4;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #cbccce;\n}\n\n.table-success {\n --bs-table-bg: #d1e7dd;\n --bs-table-striped-bg: #c7dbd2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bcd0c7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #c1d6cc;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bcd0c7;\n}\n\n.table-info {\n --bs-table-bg: #cff4fc;\n --bs-table-striped-bg: #c5e8ef;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #badce3;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfe2e9;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #badce3;\n}\n\n.table-warning {\n --bs-table-bg: #fff3cd;\n --bs-table-striped-bg: #f2e7c3;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6dbb9;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ece1be;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #e6dbb9;\n}\n\n.table-danger {\n --bs-table-bg: #f8d7da;\n --bs-table-striped-bg: #eccccf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfc2c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5c7ca;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfc2c4;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #ecedee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfe0e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5e6e7;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfe0e1;\n}\n\n.table-dark {\n --bs-table-bg: #212529;\n --bs-table-striped-bg: #2c3034;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #373b3e;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #323539;\n --bs-table-hover-color: #fff;\n color: #fff;\n border-color: #373b3e;\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type=file] {\n overflow: hidden;\n}\n.form-control[type=file]:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: #212529;\n background-color: #fff;\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-control::-webkit-date-and-time-value {\n height: 1.5em;\n}\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n.form-control::file-selector-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n -webkit-margin-end: 0.75rem;\n margin-inline-end: 0.75rem;\n color: #212529;\n background-color: #e9ecef;\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: 1px;\n border-radius: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: #dde0e3;\n}\n.form-control::-webkit-file-upload-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n -webkit-margin-end: 0.75rem;\n margin-inline-end: 0.75rem;\n color: #212529;\n background-color: #e9ecef;\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: 1px;\n border-radius: 0;\n -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::-webkit-file-upload-button {\n -webkit-transition: none;\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\n background-color: #dde0e3;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n.form-control-sm::file-selector-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n -webkit-margin-end: 0.5rem;\n margin-inline-end: 0.5rem;\n}\n.form-control-sm::-webkit-file-upload-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n -webkit-margin-end: 0.5rem;\n margin-inline-end: 0.5rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n.form-control-lg::file-selector-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n -webkit-margin-end: 1rem;\n margin-inline-end: 1rem;\n}\n.form-control-lg::-webkit-file-upload-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n -webkit-margin-end: 1rem;\n margin-inline-end: 1rem;\n}\n\ntextarea.form-control {\n min-height: calc(1.5em + 0.75rem + 2px);\n}\ntextarea.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\ntextarea.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.form-control-color {\n max-width: 3rem;\n height: auto;\n padding: 0.375rem;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n height: 1.5em;\n border-radius: 0.25rem;\n}\n.form-control-color::-webkit-color-swatch {\n height: 1.5em;\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.form-select:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n padding-right: 0.75rem;\n background-image: none;\n}\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #212529;\n}\n\n.form-select-sm {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-input {\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: #fff;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: 1px solid rgba(0, 0, 0, 0.25);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-check-input {\n transition: none;\n }\n}\n.form-check-input[type=checkbox] {\n border-radius: 0.25em;\n}\n.form-check-input[type=radio] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-check-input:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.form-check-input:checked[type=checkbox] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type=radio] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-check-input[type=checkbox]:indeterminate {\n background-color: #0d6efd;\n border-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: 0.5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-position: left center;\n border-radius: 2em;\n}\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.form-range:focus {\n outline: none;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: #b6d4fe;\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n.form-range::-moz-range-thumb:active {\n background-color: #b6d4fe;\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-select {\n height: calc(3.5rem + 2px);\n padding: 1rem 0.75rem;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n padding: 1rem 0.75rem;\n pointer-events: none;\n border: 1px solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control::-webkit-input-placeholder {\n color: transparent;\n}\n.form-floating > .form-control::-moz-placeholder {\n color: transparent;\n}\n.form-floating > .form-control::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:not(:-moz-placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-select ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus {\n z-index: 3;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #198754;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(25, 135, 84, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #198754;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #198754;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.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.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #198754;\n}\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #198754;\n}\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #198754;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #dc3545;\n}\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: #212529;\n}\n.btn-check:focus + .btn, .btn:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n}\n.btn-check:focus + .btn-primary, .btn-primary:focus {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0a58ca;\n border-color: #0a53be;\n}\n.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-secondary:hover {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n}\n.btn-check:focus + .btn-secondary, .btn-secondary:focus {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #565e64;\n border-color: #51585e;\n}\n.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n}\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #146c43;\n border-color: #13653f;\n}\n.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-info {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-info:hover {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n}\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {\n color: #000;\n background-color: #3dd5f3;\n border-color: #25cff2;\n}\n.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n.btn-info:disabled, .btn-info.disabled {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-warning {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-warning:hover {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n}\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {\n color: #000;\n background-color: #ffcd39;\n border-color: #ffc720;\n}\n.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n.btn-warning:disabled, .btn-warning.disabled {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n}\n.btn-check:focus + .btn-danger, .btn-danger:focus {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #b02a37;\n border-color: #a52834;\n}\n.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-light:hover {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n.btn-light:disabled, .btn-light.disabled {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n.btn-dark:hover {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n}\n.btn-check:focus + .btn-dark, .btn-dark:focus {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1a1e21;\n border-color: #191c1f;\n}\n.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #198754;\n border-color: #198754;\n}\n.btn-outline-success:hover {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #198754;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-outline-info:hover {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #0dcaf0;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n.btn-outline-warning:hover {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-outline-light:hover {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #212529;\n border-color: #212529;\n}\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #212529;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n.btn-link:hover {\n color: #0a58ca;\n}\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\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\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu-xxl-right {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n.dropdown-item:hover, .dropdown-item:focus {\n color: #1e2125;\n background-color: #f8f9fa;\n}\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #212529;\n}\n\n.dropdown-menu-dark {\n color: #dee2e6;\n background-color: #343a40;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.dropdown-menu-dark .dropdown-item {\n color: #dee2e6;\n}\n.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n}\n.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {\n color: #fff;\n background-color: #0d6efd;\n}\n.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {\n color: #adb5bd;\n}\n.dropdown-menu-dark .dropdown-divider {\n border-color: rgba(0, 0, 0, 0.15);\n}\n.dropdown-menu-dark .dropdown-item-text {\n color: #dee2e6;\n}\n.dropdown-menu-dark .dropdown-header {\n color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:nth-child(n+3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n text-decoration: none;\n white-space: nowrap;\n}\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.25rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1rem 1rem;\n}\n\n.card-title {\n margin-bottom: 0.5rem;\n}\n\n.card-subtitle {\n margin-top: -0.25rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n.card-link + .card-link {\n margin-left: 1rem;\n}\n\n.card-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.5rem 1rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.5rem;\n margin-bottom: -0.5rem;\n margin-left: -0.5rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n.card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n.card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n.card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n.card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: 1rem 1.25rem;\n font-size: 1rem;\n color: #212529;\n background-color: transparent;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0;\n overflow-anchor: none;\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, border-radius 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button {\n transition: none;\n }\n}\n.accordion-button.collapsed {\n border-bottom-width: 0;\n}\n.accordion-button:not(.collapsed) {\n color: #0c63e4;\n background-color: #e7f1ff;\n}\n.accordion-button:not(.collapsed)::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n transform: rotate(180deg);\n}\n.accordion-button::after {\n flex-shrink: 0;\n width: 1.25rem;\n height: 1.25rem;\n margin-left: auto;\n content: \"\";\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-size: 1.25rem;\n transition: transform 0.2s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button::after {\n transition: none;\n }\n}\n.accordion-button:hover {\n z-index: 2;\n}\n.accordion-button:focus {\n z-index: 3;\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item:first-of-type .accordion-button {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.accordion-item:last-of-type .accordion-button.collapsed {\n border-bottom-width: 1px;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n.accordion-item:last-of-type .accordion-collapse {\n border-bottom-width: 1px;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.accordion-collapse {\n border: solid rgba(0, 0, 0, 0.125);\n border-width: 0 1px;\n}\n\n.accordion-body {\n padding: 1rem 1.25rem;\n}\n\n.accordion-flush .accordion-button {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n.accordion-flush .accordion-collapse {\n border-width: 0;\n}\n.accordion-flush .accordion-item:first-of-type .accordion-button {\n border-top-width: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed {\n border-bottom-width: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\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: #0a58ca;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n.page-link:focus {\n z-index: 3;\n color: #0a58ca;\n background-color: #e9ecef;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.35em 0.65em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 1rem 1rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n color: #084298;\n background-color: #cfe2ff;\n border-color: #b6d4fe;\n}\n.alert-primary .alert-link {\n color: #06357a;\n}\n\n.alert-secondary {\n color: #41464b;\n background-color: #e2e3e5;\n border-color: #d3d6d8;\n}\n.alert-secondary .alert-link {\n color: #34383c;\n}\n\n.alert-success {\n color: #0f5132;\n background-color: #d1e7dd;\n border-color: #badbcc;\n}\n.alert-success .alert-link {\n color: #0c4128;\n}\n\n.alert-info {\n color: #055160;\n background-color: #cff4fc;\n border-color: #b6effb;\n}\n.alert-info .alert-link {\n color: #04414d;\n}\n\n.alert-warning {\n color: #664d03;\n background-color: #fff3cd;\n border-color: #ffecb5;\n}\n.alert-warning .alert-link {\n color: #523e02;\n}\n\n.alert-danger {\n color: #842029;\n background-color: #f8d7da;\n border-color: #f5c2c7;\n}\n.alert-danger .alert-link {\n color: #6a1a21;\n}\n\n.alert-light {\n color: #636464;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n.alert-light .alert-link {\n color: #4f5050;\n}\n\n.alert-dark {\n color: #141619;\n background-color: #d3d3d4;\n border-color: #bcbebf;\n}\n.alert-dark .alert-link {\n color: #101214;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: 1s linear infinite progress-bar-stripes;\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #084298;\n background-color: #cfe2ff;\n}\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #084298;\n background-color: #bacbe6;\n}\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #084298;\n border-color: #084298;\n}\n\n.list-group-item-secondary {\n color: #41464b;\n background-color: #e2e3e5;\n}\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #41464b;\n background-color: #cbccce;\n}\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #41464b;\n border-color: #41464b;\n}\n\n.list-group-item-success {\n color: #0f5132;\n background-color: #d1e7dd;\n}\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #0f5132;\n background-color: #bcd0c7;\n}\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #0f5132;\n border-color: #0f5132;\n}\n\n.list-group-item-info {\n color: #055160;\n background-color: #cff4fc;\n}\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #055160;\n background-color: #badce3;\n}\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #055160;\n border-color: #055160;\n}\n\n.list-group-item-warning {\n color: #664d03;\n background-color: #fff3cd;\n}\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #664d03;\n background-color: #e6dbb9;\n}\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #664d03;\n border-color: #664d03;\n}\n\n.list-group-item-danger {\n color: #842029;\n background-color: #f8d7da;\n}\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #842029;\n background-color: #dfc2c4;\n}\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #842029;\n border-color: #842029;\n}\n\n.list-group-item-light {\n color: #636464;\n background-color: #fefefe;\n}\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #636464;\n background-color: #e5e5e5;\n}\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #636464;\n border-color: #636464;\n}\n\n.list-group-item-dark {\n color: #141619;\n background-color: #d3d3d4;\n}\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #141619;\n background-color: #bebebf;\n}\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #141619;\n border-color: #141619;\n}\n\n.btn-close {\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: #000;\n background: transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\") center/1em auto no-repeat;\n border: 0;\n border-radius: 0.25rem;\n opacity: 0.5;\n}\n.btn-close:hover {\n color: #000;\n text-decoration: none;\n opacity: 0.75;\n}\n.btn-close:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n opacity: 1;\n}\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n opacity: 0.25;\n}\n\n.btn-close-white {\n filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n opacity: 0;\n border-radius: 0.25rem;\n}\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n.toast.showing {\n opacity: 1;\n}\n.toast.show {\n display: block;\n opacity: 1;\n}\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.5rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n.toast-header .btn-close {\n margin-right: -0.375rem;\n margin-left: 0.75rem;\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - 1rem);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n.modal-header .btn-close {\n padding: 0.5rem 0.5rem;\n margin: -0.5rem -0.5rem -0.5rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n\n .modal-dialog-scrollable {\n height: calc(100% - 3.5rem);\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n\n .modal-sm {\n max-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n.modal-xl {\n max-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: 0.9;\n}\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {\n padding: 0.4rem 0;\n}\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=top] .tooltip-arrow {\n bottom: 0;\n}\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {\n padding: 0 0.4rem;\n}\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=right] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {\n padding: 0.4rem 0;\n}\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow {\n top: 0;\n}\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {\n padding: 0 0.4rem;\n}\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=left] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\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}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=top] {\n margin-bottom: 0.5rem;\n}\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=top] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=top] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=right] {\n margin-left: 0.5rem;\n}\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=right] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=right] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=right] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {\n margin-top: 0.5rem;\n}\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=bottom] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=bottom] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f0f0f0;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=left] {\n margin-right: 0.5rem;\n}\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=left] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=left] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=left] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f0f0f0;\n border-bottom: 1px solid #d8d8d8;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 1rem 1rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n.carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.carousel-dark .carousel-indicators li {\n background-color: #000;\n}\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: 0.75s linear infinite spinner-border;\n animation: 0.75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: 0.75s linear infinite spinner-grow;\n animation: 0.75s linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n.spinner-grow {\n -webkit-animation-duration: 1.5s;\n animation-duration: 1.5s;\n }\n}\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n.link-primary:hover, .link-primary:focus {\n color: #0a58ca;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n.link-secondary:hover, .link-secondary:focus {\n color: #565e64;\n}\n\n.link-success {\n color: #198754;\n}\n.link-success:hover, .link-success:focus {\n color: #146c43;\n}\n\n.link-info {\n color: #0dcaf0;\n}\n.link-info:hover, .link-info:focus {\n color: #3dd5f3;\n}\n\n.link-warning {\n color: #ffc107;\n}\n.link-warning:hover, .link-warning:focus {\n color: #ffcd39;\n}\n\n.link-danger {\n color: #dc3545;\n}\n.link-danger:hover, .link-danger:focus {\n color: #b02a37;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n.link-light:hover, .link-light:focus {\n color: #f9fafb;\n}\n\n.link-dark {\n color: #212529;\n}\n.link-dark:hover, .link-dark:focus {\n color: #1a1e21;\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n}\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --aspect-ratio: calc(3 / 4 * 100%);\n}\n\n.ratio-16x9 {\n --aspect-ratio: calc(9 / 16 * 100%);\n}\n\n.ratio-21x9 {\n --aspect-ratio: calc(9 / 21 * 100%);\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n position: absolute !important;\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\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.left-0 {\n left: 0 !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n.right-0 {\n right: 0 !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translateX(-50%) translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #212529 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-0 {\n border-width: 0 !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 3rem !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #212529 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #212529 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.user-select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n user-select: all !important;\n}\n\n.user-select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n user-select: auto !important;\n}\n\n.user-select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: 0.2rem !important;\n}\n\n.rounded-2 {\n border-radius: 0.25rem !important;\n}\n\n.rounded-3 {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n\n .float-sm-right {\n float: right !important;\n }\n\n .float-sm-none {\n float: none !important;\n }\n\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-sm-0 {\n gap: 0 !important;\n }\n\n .gap-sm-1 {\n gap: 0.25rem !important;\n }\n\n .gap-sm-2 {\n gap: 0.5rem !important;\n }\n\n .gap-sm-3 {\n gap: 1rem !important;\n }\n\n .gap-sm-4 {\n gap: 1.5rem !important;\n }\n\n .gap-sm-5 {\n gap: 3rem !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n\n .mr-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ml-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n\n .text-sm-left {\n text-align: left !important;\n }\n\n .text-sm-right {\n text-align: right !important;\n }\n\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n\n .float-md-right {\n float: right !important;\n }\n\n .float-md-none {\n float: none !important;\n }\n\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-md-0 {\n gap: 0 !important;\n }\n\n .gap-md-1 {\n gap: 0.25rem !important;\n }\n\n .gap-md-2 {\n gap: 0.5rem !important;\n }\n\n .gap-md-3 {\n gap: 1rem !important;\n }\n\n .gap-md-4 {\n gap: 1.5rem !important;\n }\n\n .gap-md-5 {\n gap: 3rem !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .mr-md-0 {\n margin-right: 0 !important;\n }\n\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n\n .mr-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ml-md-0 {\n margin-left: 0 !important;\n }\n\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n\n .ml-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pr-md-0 {\n padding-right: 0 !important;\n }\n\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-md-0 {\n padding-left: 0 !important;\n }\n\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n\n .text-md-left {\n text-align: left !important;\n }\n\n .text-md-right {\n text-align: right !important;\n }\n\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n\n .float-lg-right {\n float: right !important;\n }\n\n .float-lg-none {\n float: none !important;\n }\n\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-lg-0 {\n gap: 0 !important;\n }\n\n .gap-lg-1 {\n gap: 0.25rem !important;\n }\n\n .gap-lg-2 {\n gap: 0.5rem !important;\n }\n\n .gap-lg-3 {\n gap: 1rem !important;\n }\n\n .gap-lg-4 {\n gap: 1.5rem !important;\n }\n\n .gap-lg-5 {\n gap: 3rem !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n\n .mr-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ml-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n\n .text-lg-left {\n text-align: left !important;\n }\n\n .text-lg-right {\n text-align: right !important;\n }\n\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n\n .float-xl-right {\n float: right !important;\n }\n\n .float-xl-none {\n float: none !important;\n }\n\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-xl-0 {\n gap: 0 !important;\n }\n\n .gap-xl-1 {\n gap: 0.25rem !important;\n }\n\n .gap-xl-2 {\n gap: 0.5rem !important;\n }\n\n .gap-xl-3 {\n gap: 1rem !important;\n }\n\n .gap-xl-4 {\n gap: 1.5rem !important;\n }\n\n .gap-xl-5 {\n gap: 3rem !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n\n .text-xl-left {\n text-align: left !important;\n }\n\n .text-xl-right {\n text-align: right !important;\n }\n\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-left {\n float: left !important;\n }\n\n .float-xxl-right {\n float: right !important;\n }\n\n .float-xxl-none {\n float: none !important;\n }\n\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-xxl-0 {\n gap: 0 !important;\n }\n\n .gap-xxl-1 {\n gap: 0.25rem !important;\n }\n\n .gap-xxl-2 {\n gap: 0.5rem !important;\n }\n\n .gap-xxl-3 {\n gap: 1rem !important;\n }\n\n .gap-xxl-4 {\n gap: 1.5rem !important;\n }\n\n .gap-xxl-5 {\n gap: 3rem !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .mr-xxl-0 {\n margin-right: 0 !important;\n }\n\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .mr-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .mr-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .mr-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .mr-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ml-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ml-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ml-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ml-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ml-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pr-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pr-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pr-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pr-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .pl-xxl-0 {\n padding-left: 0 !important;\n }\n\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pl-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .pl-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pl-xxl-5 {\n padding-left: 3rem !important;\n }\n\n .text-xxl-left {\n text-align: left !important;\n }\n\n .text-xxl-right {\n text-align: right !important;\n }\n\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-2 {\n font-size: 2rem !important;\n }\n\n .fs-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-4 {\n font-size: 1.5rem !important;\n }\n\n .fs-sm-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-sm-2 {\n font-size: 2rem !important;\n }\n\n .fs-sm-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-sm-4 {\n font-size: 1.5rem !important;\n }\n\n .fs-md-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-md-2 {\n font-size: 2rem !important;\n }\n\n .fs-md-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-md-4 {\n font-size: 1.5rem !important;\n }\n\n .fs-lg-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-lg-2 {\n font-size: 2rem !important;\n }\n\n .fs-lg-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-lg-4 {\n font-size: 1.5rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n .display-#{$display} {\n @include font-size($font-size);\n font-weight: $display-font-weight;\n line-height: $display-line-height;\n }\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-font-size);\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --bs-gutter-x: #{$gutter};\n\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\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: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof 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: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n --#{$variable-prefix}table-bg: #{$table-bg};\n --#{$variable-prefix}table-accent-bg: transparent;\n --#{$variable-prefix}table-striped-color: #{$table-striped-color};\n --#{$variable-prefix}table-striped-bg: #{$table-striped-bg};\n --#{$variable-prefix}table-active-color: #{$table-active-color};\n --#{$variable-prefix}table-active-bg: #{$table-active-bg};\n --#{$variable-prefix}table-hover-color: #{$table-hover-color};\n --#{$variable-prefix}table-hover-bg: #{$table-hover-bg};\n\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n border-color: $table-border-color;\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y $table-cell-padding-x;\n background-color: var(--#{$variable-prefix}table-bg);\n background-image: linear-gradient(var(--#{$variable-prefix}table-accent-bg), var(--#{$variable-prefix}table-accent-bg));\n border-bottom-width: $table-border-width;\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n\n // Highlight border color between thead, tbody and tfoot.\n > :not(:last-child) > :last-child > * {\n border-bottom-color: $table-group-separator-color;\n }\n}\n\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top {\n caption-side: top;\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n//\n// When borders are added on all sides of the cells, the corners can render odd when\n// these borders do not have the same color or if they are semi-transparent.\n// Therefor we add top and border bottoms to the `tr`s and left and right borders\n// to the `td`s or `th`s\n\n.table-bordered {\n > :not(caption) > * {\n border-width: $table-border-width 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 $table-border-width;\n }\n }\n}\n\n.table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-bottom-width: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) {\n --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-striped-bg);\n color: var(--#{$variable-prefix}table-striped-color);\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 --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-active-bg);\n color: var(--#{$variable-prefix}table-active-color);\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 --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-hover-bg);\n color: var(--#{$variable-prefix}table-hover-color);\n }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n @include table-variant($color, $value);\n}\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n","// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n .table-#{$state} {\n $color: color-contrast(opaque($body-bg, $background));\n $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n\n --#{$variable-prefix}table-bg: #{$background};\n --#{$variable-prefix}table-striped-bg: #{$striped-bg};\n --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)};\n --#{$variable-prefix}table-active-bg: #{$active-bg};\n --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)};\n --#{$variable-prefix}table-hover-bg: #{$hover-bg};\n --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)};\n\n color: $color;\n border-color: mix($color, $background, percentage($table-border-factor));\n }\n}\n// scss-docs-end table-variant\n","//\n// Labels\n//\n\n.form-label {\n margin-bottom: $form-label-margin-bottom;\n @include font-size($form-label-font-size);\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n color: $form-label-color;\n}\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n line-height: $input-line-height;\n color: $form-label-color;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Form text\n//\n\n.form-text {\n margin-top: $form-text-margin-top;\n @include font-size($form-text-font-size);\n font-style: $form-text-font-style;\n font-weight: $form-text-font-weight;\n color: $form-text-color;\n}\n","//\n// General form controls (plus a few specific high-level interventions)\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n appearance: none; // Fix appearance for date inputs in Safari\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // 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 &::-webkit-date-and-time-value {\n // Multiply line-height by 1em if it has no unit\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only 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 &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // File input buttons theming\n // stylelint-disable-next-line selector-pseudo-element-no-unknown\n &::file-selector-button {\n padding: $input-padding-y $input-padding-x;\n margin: (-$input-padding-y) (-$input-padding-x);\n margin-inline-end: $input-padding-x;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: $input-border-width;\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition($btn-transition);\n }\n\n // stylelint-disable-next-line selector-pseudo-element-no-unknown\n &:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: $form-file-button-hover-bg;\n }\n\n &::-webkit-file-upload-button {\n padding: $input-padding-y $input-padding-x;\n margin: (-$input-padding-y) (-$input-padding-x);\n margin-inline-end: $input-padding-x;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: $input-border-width;\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition($btn-transition);\n }\n\n &:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\n background-color: $form-file-button-hover-bg;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n\n // stylelint-disable-next-line selector-pseudo-element-no-unknown\n &::file-selector-button {\n padding: $input-padding-y-sm $input-padding-x-sm;\n margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n margin-inline-end: $input-padding-x-sm;\n }\n\n &::-webkit-file-upload-button {\n padding: $input-padding-y-sm $input-padding-x-sm;\n margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n margin-inline-end: $input-padding-x-sm;\n }\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n\n // stylelint-disable-next-line selector-pseudo-element-no-unknown\n &::file-selector-button {\n padding: $input-padding-y-lg $input-padding-x-lg;\n margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n margin-inline-end: $input-padding-x-lg;\n }\n\n &::-webkit-file-upload-button {\n padding: $input-padding-y-lg $input-padding-x-lg;\n margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n margin-inline-end: $input-padding-x-lg;\n }\n}\n\n// Make sure textareas don't shrink too much when resized\n// https://github.com/twbs/bootstrap/pull/29124\n// stylelint-disable selector-no-qualifying-type\ntextarea {\n &.form-control {\n min-height: $input-height;\n }\n\n &.form-control-sm {\n min-height: $input-height-sm;\n }\n\n &.form-control-lg {\n min-height: $input-height-lg;\n }\n}\n// stylelint-enable selector-no-qualifying-type\n\n.form-control-color {\n max-width: 3rem;\n height: auto; // Override fixed browser height\n padding: $input-padding-y;\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n\n &::-moz-color-swatch {\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n @include border-radius($input-border-radius);\n }\n\n &::-webkit-color-swatch {\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n @include border-radius($input-border-radius);\n }\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--#{$variable-prefix}gradient);\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $form-select-focus-box-shadow;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: $form-check-input-border;\n appearance: none;\n color-adjust: exact; // Keep themed appearance for print\n @include transition($form-check-transition);\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $form-check-radio-border-radius;\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n border-color: $form-check-input-indeterminate-border-color;\n\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n }\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: $form-check-input-disabled-opacity;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n opacity: $form-check-label-disabled-opacity;\n }\n }\n}\n\n.form-check-label {\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-position: left center;\n @include border-radius($form-switch-border-radius);\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n\n &[disabled],\n &:disabled {\n + .btn {\n pointer-events: none;\n filter: none;\n opacity: $form-check-btn-check-disabled-opacity;\n }\n }\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n",".form-floating {\n position: relative;\n\n > .form-control,\n > .form-select {\n height: $form-floating-height;\n padding: $form-floating-padding-y $form-floating-padding-x;\n }\n\n > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%; // allow textareas\n padding: $form-floating-padding-y $form-floating-padding-x;\n pointer-events: none;\n border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n transform-origin: 0 0;\n @include transition($form-floating-transition);\n }\n\n // stylelint-disable no-duplicate-selectors\n > .form-control {\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n }\n\n > .form-select {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-select {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // stylelint-enable no-duplicate-selectors\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus {\n z-index: 3;\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $input-group-addon-font-weight;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n &:not(.has-validation) {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 3) {\n @include border-right-radius(0);\n }\n }\n\n &.has-validation {\n > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 4) {\n @include border-right-radius(0);\n }\n }\n\n $validation-messages: \"\";\n @each $state in map-keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + unquote($state) + \"-tooltip)\" + \":not(.\" + unquote($state) + \"-feedback)\";\n }\n\n > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n margin-left: -$input-border-width;\n @include border-left-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-contrast($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\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: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, $input-btn-focus-color-opacity);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n}\n","//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n .btn-check:focus + &,\n &:focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n pointer-events: none;\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: if($color == $color-contrast-light, shade-color($background, 15%), tint-color($background, 15%)),\n $hover-border: if($color == $color-contrast-light, shade-color($border, 20%), tint-color($border, 10%)),\n $hover-color: color-contrast($hover-background),\n $active-background: if($color == $color-contrast-light, shade-color($background, 20%), tint-color($background, 20%)),\n $active-border: if($color == $color-contrast-light, shade-color($border, 25%), tint-color($border, 10%)),\n $active-color: color-contrast($active-background),\n $disabled-background: $background,\n $disabled-border: $border,\n $disabled-color: color-contrast($disabled-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $disabled-color;\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n &.dropdown-toggle.show {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: transparent;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\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","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// scss-docs-start responsive-breakpoints\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n color: $dropdown-dark-color;\n background-color: $dropdown-dark-bg;\n border-color: $dropdown-dark-border-color;\n @include box-shadow($dropdown-dark-box-shadow);\n\n .dropdown-item {\n color: $dropdown-dark-link-color;\n\n &:hover,\n &:focus {\n color: $dropdown-dark-link-hover-color;\n @include gradient-bg($dropdown-dark-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-dark-link-active-color;\n @include gradient-bg($dropdown-dark-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-dark-link-disabled-color;\n }\n }\n\n .dropdown-divider {\n border-color: $dropdown-dark-divider-bg;\n }\n\n .dropdown-item-text {\n color: $dropdown-dark-link-color;\n }\n\n .dropdown-header {\n color: $dropdown-dark-header-color;\n }\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n }\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n > .btn-check:checked + .btn,\n > .btn-check:focus + .btn,\n > .btn:hover,\n > .btn:focus,\n > .btn:active,\n > .btn.active {\n z-index: 1;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n // The left radius should be 0 if the button is:\n // - the \"third or more\" child\n // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n // - part of a btn-group which isn't the first child\n > .btn:nth-child(n + 3),\n > :not(.btn-check) + .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n @include font-size($nav-link-font-size);\n font-weight: $nav-link-font-weight;\n color: $nav-link-color;\n text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\n color: $nav-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n @include gradient-bg($nav-pills-link-active-bg);\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n @include gradient-bg();\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-brand-margin-right;\n @include font-size($navbar-brand-font-size);\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n width: 100%;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n @include transition($navbar-toggler-transition);\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 $navbar-toggler-focus-width;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n // stylelint-disable-next-line scss/selector-no-union-class-name\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\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: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-y $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-title-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-title-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-cap-padding-y $card-cap-padding-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-cap-padding-y $card-cap-padding-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-cap-padding-x / 2;\n margin-bottom: -$card-cap-padding-y;\n margin-left: -$card-cap-padding-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-cap-padding-x / 2;\n margin-left: -$card-cap-padding-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $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 // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: $accordion-button-padding-y $accordion-button-padding-x;\n @include font-size($font-size-base);\n color: $accordion-button-color;\n background-color: $accordion-button-bg;\n border: $accordion-border-width solid $accordion-border-color;\n @include border-radius(0);\n overflow-anchor: none;\n @include transition($accordion-transition);\n\n &.collapsed {\n border-bottom-width: 0;\n }\n\n &:not(.collapsed) {\n color: $accordion-button-active-color;\n background-color: $accordion-button-active-bg;\n\n &::after {\n background-image: escape-svg($accordion-button-active-icon);\n transform: $accordion-icon-transform;\n }\n }\n\n // Accordion icon\n &::after {\n flex-shrink: 0;\n width: $accordion-icon-width;\n height: $accordion-icon-width;\n margin-left: auto;\n content: \"\";\n background-image: escape-svg($accordion-button-icon);\n background-repeat: no-repeat;\n background-size: $accordion-icon-width;\n @include transition($accordion-icon-transition);\n }\n\n &:hover {\n z-index: 2;\n }\n\n &:focus {\n z-index: 3;\n border-color: $accordion-button-focus-border-color;\n outline: 0;\n box-shadow: $accordion-button-focus-box-shadow;\n }\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n &:first-of-type {\n .accordion-button {\n @include border-top-radius($accordion-border-radius);\n }\n }\n\n &:last-of-type {\n .accordion-button {\n // Only set a border-radius on the last item if the accordion is collapsed\n &.collapsed {\n border-bottom-width: $accordion-border-width;\n @include border-bottom-radius($accordion-border-radius);\n }\n }\n\n .accordion-collapse {\n border-bottom-width: $accordion-border-width;\n @include border-bottom-radius($accordion-border-radius);\n }\n }\n}\n\n.accordion-collapse {\n border: solid $accordion-border-color;\n border-width: 0 $accordion-border-width;\n}\n\n.accordion-body {\n padding: $accordion-body-padding-y $accordion-body-padding-x;\n}\n\n\n// Flush accordion items\n//\n// Remove borders and border-radius to keep accordion items edge-to-edge.\n\n.accordion-flush {\n .accordion-button {\n border-right: 0;\n border-left: 0;\n @include border-radius(0);\n }\n\n .accordion-collapse {\n border-width: 0;\n }\n\n .accordion-item {\n &:first-of-type {\n .accordion-button {\n border-top-width: 0;\n @include border-top-radius(0);\n }\n }\n\n &:last-of-type {\n .accordion-button.collapsed {\n border-bottom-width: 0;\n @include border-bottom-radius(0);\n }\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n float: left; // Suppress inline spacings and underlining of the separator\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n @include transition($pagination-transition);\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n color: $pagination-focus-color;\n background-color: $pagination-focus-bg;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n @include gradient-bg($pagination-active-bg);\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $alert-dismissible-padding-r;\n\n // Adjust close link position\n .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: $stretched-link-z-index + 1;\n padding: $alert-padding-y * 1.25 $alert-padding-x;\n }\n}\n\n\n// scss-docs-start alert-modifiers\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $state, $value in $theme-colors {\n $background: scale-color($value, $alert-bg-scale);\n $border: scale-color($value, $alert-border-scale);\n $color: scale-color($value, $alert-color-scale);\n @if (contrast-ratio($background, $color) < $min-contrast-ratio) {\n $color: mix($value, color-contrast($background), abs($alert-color-scale));\n }\n .alert-#{$state} {\n @include alert-variant($background, $border, $color);\n }\n}\n// scss-docs-end alert-modifiers\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: shade-color($color, 20%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: $progress-bar-animation-timing progress-bar-stripes;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\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: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\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: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $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: $list-group-disabled-color;\n pointer-events: none;\n background-color: $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: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// scss-docs-start list-group-modifiers\n// List group contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $state, $value in $theme-colors {\n $background: scale-color($value, $list-group-item-bg-scale);\n $color: scale-color($value, $list-group-item-color-scale);\n @if (contrast-ratio($background, $color) < $min-contrast-ratio) {\n $color: mix($value, color-contrast($background), abs($alert-color-scale));\n }\n\n @include list-group-item-variant($state, $background, $color);\n}\n// scss-docs-end list-group-modifiers\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: shade-color($background, 10%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n","// transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n.btn-close {\n box-sizing: content-box;\n width: $btn-close-width;\n height: $btn-close-height;\n padding: $btn-close-padding-y $btn-close-padding-x;\n color: $btn-close-color;\n background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements\n border: 0; // for button elements\n @include border-radius();\n opacity: $btn-close-opacity;\n\n // Override <a>'s hover style\n &:hover {\n color: $btn-close-color;\n text-decoration: none;\n opacity: $btn-close-hover-opacity;\n }\n\n &:focus {\n outline: none;\n box-shadow: $btn-close-focus-shadow;\n opacity: $btn-close-focus-opacity;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: $btn-close-disabled-opacity;\n }\n}\n\n.btn-close-white {\n filter: $btn-close-white-filter;\n}\n",".toast {\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n\n .btn-close {\n margin-right: $toast-padding-x / -2;\n margin-left: $toast-padding-x;\n }\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: 100%;\n overflow: hidden;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .btn-close {\n padding: ($modal-header-padding-y / 2) ($modal-header-padding-x / 2);\n margin: ($modal-header-padding-y / -2) ($modal-header-padding-x / -2) ($modal-header-padding-y / -2) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n @include media-breakpoint-down($breakpoint) {\n .modal-fullscreen#{$postfix} {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border: 0;\n @include border-radius(0);\n }\n\n .modal-header {\n @include border-radius(0);\n }\n\n .modal-body {\n overflow-y: auto;\n }\n\n .modal-footer {\n @include border-radius(0);\n }\n }\n }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($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: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $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 {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($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: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\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: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid shade-color($popover-header-bg, 10%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right 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-left and .active.carousel-item-right 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-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n\n// Dark mode carousel\n\n.carousel-dark {\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n filter: $carousel-dark-control-icon-filter;\n }\n\n .carousel-indicators li {\n background-color: $carousel-dark-indicator-active-bg;\n }\n\n .carousel-caption {\n color: $carousel-dark-caption-color;\n }\n}\n","// scss-docs-start clearfix\n@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n// scss-docs-end clearfix\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: $spinner-animation-speed linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: $spinner-animation-speed linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n\n@if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: $spinner-animation-speed * 2;\n }\n }\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $link-shade-percentage != 0 {\n &:hover,\n &:focus {\n color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n padding-top: var(--aspect-ratio);\n content: \"\";\n }\n\n > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $aspect-ratios {\n .ratio-#{$key} {\n --aspect-ratio: #{$ratio};\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n}\n","//\n// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus) {\n @include visually-hidden();\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n position: absolute !important;\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\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin visually-hidden-focusable() {\n &:not(:focus) {\n @include visually-hidden();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.js b/dist/js/bootstrap.bundle.js
index ec2a964888..c46bff118c 100644
--- a/dist/js/bootstrap.bundle.js
+++ b/dist/js/bootstrap.bundle.js
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -51,7 +51,7 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): util/index.js
+ * Bootstrap (v5.0.0-alpha3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -224,9 +224,17 @@
return null;
};
+ var onDOMContentLoaded = function onDOMContentLoaded(callback) {
+ if (document.readyState === 'loading') {
+ document.addEventListener('DOMContentLoaded', callback);
+ } else {
+ callback();
+ }
+ };
+
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/data.js
+ * Bootstrap (v5.0.0-alpha3): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -291,81 +299,9 @@
}
};
- /* istanbul ignore file */
- var find = Element.prototype.querySelectorAll;
- var findOne = Element.prototype.querySelector; // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
-
- var defaultPreventedPreservedOnDispatch = function () {
- var e = new CustomEvent('Bootstrap', {
- cancelable: true
- });
- var element = document.createElement('div');
- element.addEventListener('Bootstrap', function () {
- return null;
- });
- e.preventDefault();
- element.dispatchEvent(e);
- return e.defaultPrevented;
- }();
-
- var scopeSelectorRegex = /:scope\b/;
-
- var supportScopeQuery = function () {
- var element = document.createElement('div');
-
- try {
- element.querySelectorAll(':scope *');
- } catch (_) {
- return false;
- }
-
- return true;
- }();
-
- if (!supportScopeQuery) {
- find = function find(selector) {
- if (!scopeSelectorRegex.test(selector)) {
- return this.querySelectorAll(selector);
- }
-
- var hasId = Boolean(this.id);
-
- if (!hasId) {
- this.id = getUID('scope');
- }
-
- var nodeList = null;
-
- try {
- selector = selector.replace(scopeSelectorRegex, "#" + this.id);
- nodeList = this.querySelectorAll(selector);
- } finally {
- if (!hasId) {
- this.removeAttribute('id');
- }
- }
-
- return nodeList;
- };
-
- findOne = function findOne(selector) {
- if (!scopeSelectorRegex.test(selector)) {
- return this.querySelector(selector);
- }
-
- var matches = find.call(this, selector);
-
- if (typeof matches[0] !== 'undefined') {
- return matches[0];
- }
-
- return null;
- };
- }
-
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/event-handler.js
+ * Bootstrap (v5.0.0-alpha3): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -375,7 +311,6 @@
* ------------------------------------------------------------------------
*/
- var $ = getjQuery();
var namespaceRegex = /[^.]*(?=\..*)\.|.*/;
var stripNameRegex = /\..*/;
var stripUidRegex = /::\d+$/;
@@ -584,6 +519,7 @@
return null;
}
+ var $ = getjQuery();
var typeEvent = event.replace(stripNameRegex, '');
var inNamespace = event !== typeEvent;
var isNative = nativeEvents.indexOf(typeEvent) > -1;
@@ -624,14 +560,6 @@
if (defaultPrevented) {
evt.preventDefault();
-
- if (!defaultPreventedPreservedOnDispatch) {
- Object.defineProperty(evt, 'defaultPrevented', {
- get: function get() {
- return true;
- }
- });
- }
}
if (nativeDispatch) {
@@ -653,7 +581,7 @@
*/
var NAME = 'alert';
- var VERSION = '5.0.0-alpha2';
+ var VERSION = '5.0.0-alpha3';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -781,26 +709,28 @@
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
- var $$1 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .alert to jQuery only if jQuery is present
+ * add .Alert to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$1) {
- var JQUERY_NO_CONFLICT = $$1.fn[NAME];
- $$1.fn[NAME] = Alert.jQueryInterface;
- $$1.fn[NAME].Constructor = Alert;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ $.fn[NAME] = Alert.jQueryInterface;
+ $.fn[NAME].Constructor = Alert;
- $$1.fn[NAME].noConflict = function () {
- $$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Alert.jQueryInterface;
- };
- }
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Alert.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -809,7 +739,7 @@
*/
var NAME$1 = 'button';
- var VERSION$1 = '5.0.0-alpha2';
+ var VERSION$1 = '5.0.0-alpha3';
var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
@@ -888,30 +818,32 @@
data.toggle();
});
- var $$2 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .button to jQuery only if jQuery is present
+ * add .Button to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$2) {
- var JQUERY_NO_CONFLICT$1 = $$2.fn[NAME$1];
- $$2.fn[NAME$1] = Button.jQueryInterface;
- $$2.fn[NAME$1].Constructor = Button;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$1];
+ $.fn[NAME$1] = Button.jQueryInterface;
+ $.fn[NAME$1].Constructor = Button;
- $$2.fn[NAME$1].noConflict = function () {
- $$2.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
- return Button.jQueryInterface;
- };
- }
+ $.fn[NAME$1].noConflict = function () {
+ $.fn[NAME$1] = JQUERY_NO_CONFLICT;
+ return Button.jQueryInterface;
+ };
+ }
+ });
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/manipulator.js
+ * Bootstrap (v5.0.0-alpha3): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -980,36 +912,36 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js
+ * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
+
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
-
var NODE_TEXT = 3;
var SelectorEngine = {
matches: function matches(element, selector) {
return element.matches(selector);
},
- find: function find$1(selector, element) {
+ find: function find(selector, element) {
var _ref;
if (element === void 0) {
element = document.documentElement;
}
- return (_ref = []).concat.apply(_ref, find.call(element, selector));
+ return (_ref = []).concat.apply(_ref, Element.prototype.querySelectorAll.call(element, selector));
},
- findOne: function findOne$1(selector, element) {
+ findOne: function findOne(selector, element) {
if (element === void 0) {
element = document.documentElement;
}
- return findOne.call(element, selector);
+ return Element.prototype.querySelector.call(element, selector);
},
children: function children(element, selector) {
var _ref2;
@@ -1069,7 +1001,7 @@
*/
var NAME$2 = 'carousel';
- var VERSION$2 = '5.0.0-alpha2';
+ var VERSION$2 = '5.0.0-alpha3';
var DATA_KEY$2 = 'bs.carousel';
var EVENT_KEY$2 = "." + DATA_KEY$2;
var DATA_API_KEY$2 = '.data-api';
@@ -1207,6 +1139,8 @@
}
if (this._config && this._config.interval && !this._isPaused) {
+ this._updateInterval();
+
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
}
};
@@ -1448,6 +1382,23 @@
}
};
+ _proto._updateInterval = function _updateInterval() {
+ var element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
+
+ if (!element) {
+ return;
+ }
+
+ var elementInterval = parseInt(element.getAttribute('data-interval'), 10);
+
+ if (elementInterval) {
+ this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
+ this._config.interval = elementInterval;
+ } else {
+ this._config.interval = this._config.defaultInterval || this._config.interval;
+ }
+ };
+
_proto._slide = function _slide(direction, element) {
var _this4 = this;
@@ -1498,20 +1449,13 @@
this._setActiveIndicatorElement(nextElement);
+ this._activeElement = nextElement;
+
if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
nextElement.classList.add(orderClassName);
reflow(nextElement);
activeElement.classList.add(directionalClassName);
nextElement.classList.add(directionalClassName);
- var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
-
- if (nextElementInterval) {
- this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
- this._config.interval = nextElementInterval;
- } else {
- this._config.interval = this._config.defaultInterval || this._config.interval;
- }
-
var transitionDuration = getTransitionDurationFromElement(activeElement);
EventHandler.one(activeElement, TRANSITION_END, function () {
nextElement.classList.remove(directionalClassName, orderClassName);
@@ -1638,26 +1582,28 @@
Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2));
}
});
- var $$3 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .carousel to jQuery only if jQuery is present
+ * add .Carousel to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$3) {
- var JQUERY_NO_CONFLICT$2 = $$3.fn[NAME$2];
- $$3.fn[NAME$2] = Carousel.jQueryInterface;
- $$3.fn[NAME$2].Constructor = Carousel;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$2];
+ $.fn[NAME$2] = Carousel.jQueryInterface;
+ $.fn[NAME$2].Constructor = Carousel;
- $$3.fn[NAME$2].noConflict = function () {
- $$3.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
- return Carousel.jQueryInterface;
- };
- }
+ $.fn[NAME$2].noConflict = function () {
+ $.fn[NAME$2] = JQUERY_NO_CONFLICT;
+ return Carousel.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -1666,7 +1612,7 @@
*/
var NAME$3 = 'collapse';
- var VERSION$3 = '5.0.0-alpha2';
+ var VERSION$3 = '5.0.0-alpha3';
var DATA_KEY$3 = 'bs.collapse';
var EVENT_KEY$3 = "." + DATA_KEY$3;
var DATA_API_KEY$3 = '.data-api';
@@ -2038,26 +1984,28 @@
Collapse.collapseInterface(element, config);
});
});
- var $$4 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .collapse to jQuery only if jQuery is present
+ * add .Collapse to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$4) {
- var JQUERY_NO_CONFLICT$3 = $$4.fn[NAME$3];
- $$4.fn[NAME$3] = Collapse.jQueryInterface;
- $$4.fn[NAME$3].Constructor = Collapse;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$3];
+ $.fn[NAME$3] = Collapse.jQueryInterface;
+ $.fn[NAME$3].Constructor = Collapse;
- $$4.fn[NAME$3].noConflict = function () {
- $$4.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
- return Collapse.jQueryInterface;
- };
- }
+ $.fn[NAME$3].noConflict = function () {
+ $.fn[NAME$3] = JQUERY_NO_CONFLICT;
+ return Collapse.jQueryInterface;
+ };
+ }
+ });
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
@@ -2898,7 +2846,7 @@
* @argument value
* @returns index or -1
*/
- function find$1(arr, check) {
+ function find(arr, check) {
// use native find if supported
if (Array.prototype.find) {
return arr.find(check);
@@ -2926,7 +2874,7 @@
}
// use `find` + `indexOf` if `findIndex` isn't supported
- var match = find$1(arr, function (obj) {
+ var match = find(arr, function (obj) {
return obj[prop] === value;
});
return arr.indexOf(match);
@@ -3343,7 +3291,7 @@
// Remove this legacy support in Popper.js v2
- var legacyGpuAccelerationOption = find$1(data.instance.modifiers, function (modifier) {
+ var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
return modifier.name === 'applyStyle';
}).gpuAcceleration;
if (legacyGpuAccelerationOption !== undefined) {
@@ -3438,7 +3386,7 @@
* @returns {Boolean}
*/
function isModifierRequired(modifiers, requestingName, requestedName) {
- var requesting = find$1(modifiers, function (_ref) {
+ var requesting = find(modifiers, function (_ref) {
var name = _ref.name;
return name === requestingName;
});
@@ -3819,7 +3767,7 @@
// Detect if the offset string contains a pair of values or a single one
// they could be separated by comma or space
- var divider = fragments.indexOf(find$1(fragments, function (frag) {
+ var divider = fragments.indexOf(find(fragments, function (frag) {
return frag.search(/,|\s/) !== -1;
}));
@@ -4030,7 +3978,7 @@
}
var refRect = data.offsets.reference;
- var bound = find$1(data.instance.modifiers, function (modifier) {
+ var bound = find(data.instance.modifiers, function (modifier) {
return modifier.name === 'preventOverflow';
}).boundaries;
@@ -4680,7 +4628,7 @@
*/
var NAME$4 = 'dropdown';
- var VERSION$4 = '5.0.0-alpha2';
+ var VERSION$4 = '5.0.0-alpha3';
var DATA_KEY$4 = 'bs.dropdown';
var EVENT_KEY$4 = "." + DATA_KEY$4;
var DATA_API_KEY$4 = '.data-api';
@@ -4914,11 +4862,7 @@
var placement = PLACEMENT_BOTTOM; // Handle dropup
if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
- placement = PLACEMENT_TOP;
-
- if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
- placement = PLACEMENT_TOPEND;
- }
+ placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {
placement = PLACEMENT_RIGHT;
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {
@@ -5162,26 +5106,28 @@
EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
return e.stopPropagation();
});
- var $$5 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .dropdown to jQuery only if jQuery is present
+ * add .Dropdown to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$5) {
- var JQUERY_NO_CONFLICT$4 = $$5.fn[NAME$4];
- $$5.fn[NAME$4] = Dropdown.jQueryInterface;
- $$5.fn[NAME$4].Constructor = Dropdown;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$4];
+ $.fn[NAME$4] = Dropdown.jQueryInterface;
+ $.fn[NAME$4].Constructor = Dropdown;
- $$5.fn[NAME$4].noConflict = function () {
- $$5.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
- return Dropdown.jQueryInterface;
- };
- }
+ $.fn[NAME$4].noConflict = function () {
+ $.fn[NAME$4] = JQUERY_NO_CONFLICT;
+ return Dropdown.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -5190,7 +5136,7 @@
*/
var NAME$5 = 'modal';
- var VERSION$5 = '5.0.0-alpha2';
+ var VERSION$5 = '5.0.0-alpha3';
var DATA_KEY$5 = 'bs.modal';
var EVENT_KEY$5 = "." + DATA_KEY$5;
var DATA_API_KEY$5 = '.data-api';
@@ -5791,30 +5737,32 @@
data.show(this);
});
- var $$6 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .modal to jQuery only if jQuery is present
+ * add .Modal to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$6) {
- var JQUERY_NO_CONFLICT$5 = $$6.fn[NAME$5];
- $$6.fn[NAME$5] = Modal.jQueryInterface;
- $$6.fn[NAME$5].Constructor = Modal;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$5];
+ $.fn[NAME$5] = Modal.jQueryInterface;
+ $.fn[NAME$5].Constructor = Modal;
- $$6.fn[NAME$5].noConflict = function () {
- $$6.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
- return Modal.jQueryInterface;
- };
- }
+ $.fn[NAME$5].noConflict = function () {
+ $.fn[NAME$5] = JQUERY_NO_CONFLICT;
+ return Modal.jQueryInterface;
+ };
+ }
+ });
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): util/sanitizer.js
+ * Bootstrap (v5.0.0-alpha3): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -5946,7 +5894,7 @@
*/
var NAME$6 = 'tooltip';
- var VERSION$6 = '5.0.0-alpha2';
+ var VERSION$6 = '5.0.0-alpha3';
var DATA_KEY$6 = 'bs.tooltip';
var EVENT_KEY$6 = "." + DATA_KEY$6;
var CLASS_PREFIX = 'bs-tooltip';
@@ -6670,27 +6618,29 @@
return Tooltip;
}();
-
- var $$7 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .tooltip to jQuery only if jQuery is present
+ * add .Tooltip to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
- if ($$7) {
- var JQUERY_NO_CONFLICT$6 = $$7.fn[NAME$6];
- $$7.fn[NAME$6] = Tooltip.jQueryInterface;
- $$7.fn[NAME$6].Constructor = Tooltip;
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- $$7.fn[NAME$6].noConflict = function () {
- $$7.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
- return Tooltip.jQueryInterface;
- };
- }
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$6];
+ $.fn[NAME$6] = Tooltip.jQueryInterface;
+ $.fn[NAME$6].Constructor = Tooltip;
+
+ $.fn[NAME$6].noConflict = function () {
+ $.fn[NAME$6] = JQUERY_NO_CONFLICT;
+ return Tooltip.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -6699,7 +6649,7 @@
*/
var NAME$7 = 'popover';
- var VERSION$7 = '5.0.0-alpha2';
+ var VERSION$7 = '5.0.0-alpha3';
var DATA_KEY$7 = 'bs.popover';
var EVENT_KEY$7 = "." + DATA_KEY$7;
var CLASS_PREFIX$1 = 'bs-popover';
@@ -6859,26 +6809,29 @@
return Popover;
}(Tooltip);
-
- var $$8 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
+ * add .Popover to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
- if ($$8) {
- var JQUERY_NO_CONFLICT$7 = $$8.fn[NAME$7];
- $$8.fn[NAME$7] = Popover.jQueryInterface;
- $$8.fn[NAME$7].Constructor = Popover;
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- $$8.fn[NAME$7].noConflict = function () {
- $$8.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
- return Popover.jQueryInterface;
- };
- }
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$7];
+ $.fn[NAME$7] = Popover.jQueryInterface;
+ $.fn[NAME$7].Constructor = Popover;
+
+ $.fn[NAME$7].noConflict = function () {
+ $.fn[NAME$7] = JQUERY_NO_CONFLICT;
+ return Popover.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -6887,7 +6840,7 @@
*/
var NAME$8 = 'scrollspy';
- var VERSION$8 = '5.0.0-alpha2';
+ var VERSION$8 = '5.0.0-alpha3';
var DATA_KEY$8 = 'bs.scrollspy';
var EVENT_KEY$8 = "." + DATA_KEY$8;
var DATA_API_KEY$6 = '.data-api';
@@ -7159,25 +7112,28 @@
return new ScrollSpy(spy, Manipulator.getDataAttributes(spy));
});
});
- var $$9 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
+ * add .ScrollSpy to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$9) {
- var JQUERY_NO_CONFLICT$8 = $$9.fn[NAME$8];
- $$9.fn[NAME$8] = ScrollSpy.jQueryInterface;
- $$9.fn[NAME$8].Constructor = ScrollSpy;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$8];
+ $.fn[NAME$8] = ScrollSpy.jQueryInterface;
+ $.fn[NAME$8].Constructor = ScrollSpy;
- $$9.fn[NAME$8].noConflict = function () {
- $$9.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
- return ScrollSpy.jQueryInterface;
- };
- }
+ $.fn[NAME$8].noConflict = function () {
+ $.fn[NAME$8] = JQUERY_NO_CONFLICT;
+ return ScrollSpy.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -7186,7 +7142,7 @@
*/
var NAME$9 = 'tab';
- var VERSION$9 = '5.0.0-alpha2';
+ var VERSION$9 = '5.0.0-alpha3';
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
@@ -7385,26 +7341,28 @@
var data = Data.getData(this, DATA_KEY$9) || new Tab(this);
data.show();
});
- var $$a = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .tab to jQuery only if jQuery is present
+ * add .Tab to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$a) {
- var JQUERY_NO_CONFLICT$9 = $$a.fn[NAME$9];
- $$a.fn[NAME$9] = Tab.jQueryInterface;
- $$a.fn[NAME$9].Constructor = Tab;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$9];
+ $.fn[NAME$9] = Tab.jQueryInterface;
+ $.fn[NAME$9].Constructor = Tab;
- $$a.fn[NAME$9].noConflict = function () {
- $$a.fn[NAME$9] = JQUERY_NO_CONFLICT$9;
- return Tab.jQueryInterface;
- };
- }
+ $.fn[NAME$9].noConflict = function () {
+ $.fn[NAME$9] = JQUERY_NO_CONFLICT;
+ return Tab.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -7413,7 +7371,7 @@
*/
var NAME$a = 'toast';
- var VERSION$a = '5.0.0-alpha2';
+ var VERSION$a = '5.0.0-alpha3';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$a;
@@ -7608,31 +7566,33 @@
return Toast;
}();
-
- var $$b = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .toast to jQuery only if jQuery is present
+ * add .Toast to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
- if ($$b) {
- var JQUERY_NO_CONFLICT$a = $$b.fn[NAME$a];
- $$b.fn[NAME$a] = Toast.jQueryInterface;
- $$b.fn[NAME$a].Constructor = Toast;
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- $$b.fn[NAME$a].noConflict = function () {
- $$b.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
- return Toast.jQueryInterface;
- };
- }
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$a];
+ $.fn[NAME$a] = Toast.jQueryInterface;
+ $.fn[NAME$a].Constructor = Toast;
+
+ $.fn[NAME$a].noConflict = function () {
+ $.fn[NAME$a] = JQUERY_NO_CONFLICT;
+ return Toast.jQueryInterface;
+ };
+ }
+ });
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): index.umd.js
+ * Bootstrap (v5.0.0-alpha3): index.umd.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
diff --git a/dist/js/bootstrap.bundle.js.map b/dist/js/bootstrap.bundle.js.map
index bda4619c3c..ab4c018ff3 100644
--- a/dist/js/bootstrap.bundle.js.map
+++ b/dist/js/bootstrap.bundle.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","add","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","_extends","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EA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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nexport {\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n }\n})\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n }\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\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 const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha3'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n }\n})\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n }\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n }\n})\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n }\n})\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n }\n})\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n }\n})\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","querySelectorAll","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","$","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","defineProperty","preventDefault","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","matches","find","concat","Element","prototype","findOne","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","e","add","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","elementInterval","parseInt","defaultInterval","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","_extends","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EA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"} \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.min.js b/dist/js/bootstrap.bundle.min.js
index 9cc01b9a41..13d37f5217 100644
--- a/dist/js/bootstrap.bundle.min.js
+++ b/dist/js/bootstrap.bundle.min.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function e(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function n(){return(n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}var i,o,r,s,a=function(t){do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},l=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},c=function(t){var e=l(t);return e&&document.querySelector(e)?e:null},u=function(t){var e=l(t);return e?document.querySelector(e):null},f=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},h=function(t){t.dispatchEvent(new Event("transitionend"))},d=function(t){return(t[0]||t).nodeType},p=function(t,e){var n=!1,i=e+5;t.addEventListener("transitionend",(function e(){n=!0,t.removeEventListener("transitionend",e)})),setTimeout((function(){n||h(t)}),i)},g=function(t,e,n){Object.keys(n).forEach((function(i){var o,r=n[i],s=e[i],a=s&&d(s)?"element":null==(o=s)?""+o:{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},m=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},v=function(){return function(){}},_=function(t){return t.offsetHeight},b=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},y=(i={},o=1,{set:function(t,e,n){void 0===t.bsKey&&(t.bsKey={key:e,id:o},o++),i[t.bsKey.id]=n},get:function(t,e){if(!t||void 0===t.bsKey)return null;var n=t.bsKey;return n.key===e?i[n.id]:null},delete:function(t,e){if(void 0!==t.bsKey){var n=t.bsKey;n.key===e&&(delete i[n.id],delete t.bsKey)}}}),w=function(t,e,n){y.set(t,e,n)},E=function(t,e){return y.get(t,e)},T=function(t,e){y.delete(t,e)},L=Element.prototype.querySelectorAll,k=Element.prototype.querySelector,C=(r=new CustomEvent("Bootstrap",{cancelable:!0}),(s=document.createElement("div")).addEventListener("Bootstrap",(function(){return null})),r.preventDefault(),s.dispatchEvent(r),r.defaultPrevented),A=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(L=function(t){if(!A.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=a("scope"));var n=null;try{t=t.replace(A,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},k=function(t){if(!A.test(t))return this.querySelector(t);var e=L.call(this,t);return void 0!==e[0]?e[0]:null});var O=b(),S=/[^.]*(?=\..*)\.|.*/,D=/\..*/,x=/::\d+$/,N={},I=1,j={mouseenter:"mouseover",mouseleave:"mouseout"},P=["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 M(t,e){return e&&e+"::"+I++||t.uidEvent||I++}function H(t){var e=M(t);return t.uidEvent=e,N[e]=N[e]||{},N[e]}function B(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function R(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(D,""),s=j[r];return s&&(r=s),P.indexOf(r)>-1||(r=t),[i,o,r]}function F(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=R(e,n,i),s=r[0],a=r[1],l=r[2],c=H(t),u=c[l]||(c[l]={}),f=B(u,a,s?n:null);if(f)f.oneOff=f.oneOff&&o;else{var h=M(a,e.replace(S,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return o.delegateTarget=s,i.oneOff&&U.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return i.delegateTarget=t,n.oneOff&&U.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,u[h]=d,t.addEventListener(l,d,s)}}}function W(t,e,n,i,o){var r=B(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var U={on:function(t,e,n,i){F(t,e,n,i,!1)},one:function(t,e,n,i){F(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=R(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=H(t),u="."===e.charAt(0);if(void 0===s){u&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(r){if(r.indexOf(i)>-1){var s=o[r];W(t,e,n,s.originalHandler,s.delegationSelector)}}))}(t,c,n,e.slice(1))}));var f=c[a]||{};Object.keys(f).forEach((function(n){var i=n.replace(x,"");if(!l||e.indexOf(i)>-1){var o=f[n];W(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;W(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(D,""),r=e!==o,s=P.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return r&&O&&(i=O.Event(e,n),O(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(u=document.createEvent("HTMLEvents")).initEvent(o,a,!0):u=new CustomEvent(e,{bubbles:a,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})})),c&&(u.preventDefault(),C||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},Q="alert",V=function(){function t(t){this._element=t,this._element&&w(t,"bs.alert",this)}var n=t.prototype;return n.close=function(t){var e=t?this._getRootElement(t):this._element,n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){T(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){return u(t)||t.closest(".alert")},n._triggerCloseEvent=function(t){return U.trigger(t,"close.bs.alert")},n._removeElement=function(t){var e=this;if(t.classList.remove("show"),t.classList.contains("fade")){var n=f(t);U.one(t,"transitionend",(function(){return e._destroyElement(t)})),p(t,n)}else this._destroyElement(t)},n._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),U.trigger(t,"closed.bs.alert")},t.jQueryInterface=function(e){return this.each((function(){var n=E(this,"bs.alert");n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return E(t,"bs.alert")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}}]),t}();U.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',V.handleDismiss(new V));var K=b();if(K){var Y=K.fn[Q];K.fn[Q]=V.jQueryInterface,K.fn[Q].Constructor=V,K.fn[Q].noConflict=function(){return K.fn[Q]=Y,V.jQueryInterface}}var q=function(){function t(t){this._element=t,w(t,"bs.button",this)}var n=t.prototype;return n.toggle=function(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))},n.dispose=function(){T(this._element,"bs.button"),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=E(this,"bs.button");n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return E(t,"bs.button")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}}]),t}();U.on(document,"click.bs.button.data-api",'[data-toggle="button"]',(function(t){t.preventDefault();var e=t.target.closest('[data-toggle="button"]'),n=E(e,"bs.button");n||(n=new q(e)),n.toggle()}));var z=b();if(z){var X=z.fn.button;z.fn.button=q.jQueryInterface,z.fn.button.Constructor=q,z.fn.button.noConflict=function(){return z.fn.button=X,q.jQueryInterface}}function G(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function $(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}var Z={setDataAttribute:function(t,e,n){t.setAttribute("data-"+$(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+$(e))},getDataAttributes:function(t){if(!t)return{};var e=n({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=G(e[t])})),e},getDataAttribute:function(t,e){return G(t.getAttribute("data-"+$(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},J={matches:function(t,e){return t.matches(e)},find:function(t,e){var n;return void 0===e&&(e=document.documentElement),(n=[]).concat.apply(n,L.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),k.call(e,t)},children:function(t,e){var n,i=(n=[]).concat.apply(n,t.children);return i.filter((function(t){return t.matches(e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},prev:function(t,e){for(var n=t.previousElementSibling;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next:function(t,e){for(var n=t.nextElementSibling;n;){if(this.matches(n,e))return[n];n=n.nextElementSibling}return[]}},tt="carousel",et=".bs.carousel",nt={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},it={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},ot={TOUCH:"touch",PEN:"pen"},rt=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=J.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners(),w(t,"bs.carousel",this)}var i=t.prototype;return i.next=function(){this._isSliding||this._slide("next")},i.nextWhenVisible=function(){!document.hidden&&m(this._element)&&this.next()},i.prev=function(){this._isSliding||this._slide("prev")},i.pause=function(t){t||(this._isPaused=!0),J.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(h(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},i.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},i.to=function(t){var e=this;this._activeElement=J.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)U.one(this._element,"slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},i.dispose=function(){U.off(this._element,et),T(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},i._getConfig=function(t){return t=n({},nt,t),g(tt,t,it),t},i._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},i._addEventListeners=function(){var t=this;this._config.keyboard&&U.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(U.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),U.on(this._element,"mouseleave.bs.carousel",(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},i._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&ot[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&ot[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};J.find(".carousel-item img",this._element).forEach((function(t){U.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(U.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),U.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(U.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),U.on(this._element,"touchmove.bs.carousel",(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),U.on(this._element,"touchend.bs.carousel",(function(t){return n(t)})))},i._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.key){case"ArrowLeft":t.preventDefault(),this.prev();break;case"ArrowRight":t.preventDefault(),this.next()}},i._getItemIndex=function(t){return this._items=t&&t.parentNode?J.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},i._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},i._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(J.findOne(".active.carousel-item",this._element));return U.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},i._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=J.find(".active",this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add("active")}},i._slide=function(t,e){var n,i,o,r=this,s=J.findOne(".active.carousel-item",this._element),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),u=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",o="left"):(n="carousel-item-right",i="carousel-item-prev",o="right"),l&&l.classList.contains("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&s&&l){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains("slide")){l.classList.add(i),_(l),s.classList.add(n),l.classList.add(n);var h=parseInt(l.getAttribute("data-interval"),10);h?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=h):this._config.interval=this._config.defaultInterval||this._config.interval;var d=f(s);U.one(s,"transitionend",(function(){l.classList.remove(n,i),l.classList.add("active"),s.classList.remove("active",i,n),r._isSliding=!1,setTimeout((function(){U.trigger(r._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c})}),0)})),p(s,d)}else s.classList.remove("active"),l.classList.add("active"),this._isSliding=!1,U.trigger(this._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c});u&&this.cycle()}},t.carouselInterface=function(e,i){var o=E(e,"bs.carousel"),r=n({},nt,Z.getDataAttributes(e));"object"==typeof i&&(r=n({},r,i));var s="string"==typeof i?i:r.slide;if(o||(o=new t(e,r)),"number"==typeof i)o.to(i);else if("string"==typeof s){if(void 0===o[s])throw new TypeError('No method named "'+s+'"');o[s]()}else r.interval&&r.ride&&(o.pause(),o.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var i=u(this);if(i&&i.classList.contains("carousel")){var o=n({},Z.getDataAttributes(i),Z.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(o.interval=!1),t.carouselInterface(i,o),r&&E(i,"bs.carousel").to(r),e.preventDefault()}},t.getInstance=function(t){return E(t,"bs.carousel")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return nt}}]),t}();U.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",rt.dataApiClickHandler),U.on(window,"load.bs.carousel.data-api",(function(){for(var t=J.find('[data-ride="carousel"]'),e=0,n=t.length;e<n;e++)rt.carouselInterface(t[e],E(t[e],"bs.carousel"))}));var st=b();if(st){var at=st.fn[tt];st.fn[tt]=rt.jQueryInterface,st.fn[tt].Constructor=rt,st.fn[tt].noConflict=function(){return st.fn[tt]=at,rt.jQueryInterface}}var lt="collapse",ct={toggle:!0,parent:""},ut={toggle:"boolean",parent:"(string|element)"},ft=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=J.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]');for(var n=J.find('[data-toggle="collapse"]'),i=0,o=n.length;i<o;i++){var r=n[i],s=c(r),a=J.find(s).filter((function(e){return e===t}));null!==s&&a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),w(t,"bs.collapse",this)}var i=t.prototype;return i.toggle=function(){this._element.classList.contains("show")?this.hide():this.show()},i.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains("show")){var n,i;this._parent&&0===(n=J.find(".show, .collapsing",this._parent).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains("collapse")}))).length&&(n=null);var o=J.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?E(r[0],"bs.collapse"):null)&&i._isTransitioning)return}if(!U.trigger(this._element,"show.bs.collapse").defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||w(e,"bs.collapse",null)}));var s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),l=f(this._element);U.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse","show"),e._element.style[s]="",e.setTransitioning(!1),U.trigger(e._element,"shown.bs.collapse")})),p(this._element,l),this._element.style[s]=this._element[a]+"px"}}},i.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains("show")&&!U.trigger(this._element,"hide.bs.collapse").defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",_(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=u(o);r&&!r.classList.contains("show")&&(o.classList.add("collapsed"),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=f(this._element);U.one(this._element,"transitionend",(function(){t.setTransitioning(!1),t._element.classList.remove("collapsing"),t._element.classList.add("collapse"),U.trigger(t._element,"hidden.bs.collapse")})),p(this._element,s)}},i.setTransitioning=function(t){this._isTransitioning=t},i.dispose=function(){T(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},i._getConfig=function(t){return(t=n({},ct,t)).toggle=Boolean(t.toggle),g(lt,t,ut),t},i._getDimension=function(){return this._element.classList.contains("width")?"width":"height"},i._getParent=function(){var t=this,e=this._config.parent;d(e)?void 0===e.jquery&&void 0===e[0]||(e=e[0]):e=J.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return J.find(n,e).forEach((function(e){var n=u(e);t._addAriaAndCollapsedClass(n,[e])})),e},i._addAriaAndCollapsedClass=function(t,e){if(t&&e.length){var n=t.classList.contains("show");e.forEach((function(t){n?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,i){var o=E(e,"bs.collapse"),r=n({},ct,Z.getDataAttributes(e),"object"==typeof i&&i?i:{});if(!o&&r.toggle&&"string"==typeof i&&/show|hide/.test(i)&&(r.toggle=!1),o||(o=new t(e,r)),"string"==typeof i){if(void 0===o[i])throw new TypeError('No method named "'+i+'"');o[i]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return E(t,"bs.collapse")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return ct}}]),t}();U.on(document,"click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.target.tagName&&t.preventDefault();var e=Z.getDataAttributes(this),n=c(this);J.find(n).forEach((function(t){var n,i=E(t,"bs.collapse");i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,ft.collapseInterface(t,n)}))}));var ht=b();if(ht){var dt=ht.fn[lt];ht.fn[lt]=ft.jQueryInterface,ht.fn[lt].Constructor=ft,ht.fn[lt].noConflict=function(){return ht.fn[lt]=dt,ft.jQueryInterface}}var pt="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,gt=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(pt&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var mt=pt&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),gt))}};function vt(t){return t&&"[object Function]"==={}.toString.call(t)}function _t(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function bt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function yt(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=_t(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:yt(bt(t))}function wt(t){return t&&t.referenceNode?t.referenceNode:t}var Et=pt&&!(!window.MSInputMethodContext||!document.documentMode),Tt=pt&&/MSIE 10/.test(navigator.userAgent);function Lt(t){return 11===t?Et:10===t?Tt:Et||Tt}function kt(t){if(!t)return document.documentElement;for(var e=Lt(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===_t(n,"position")?kt(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Ct(t){return null!==t.parentNode?Ct(t.parentNode):t}function At(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s=r.commonAncestorContainer;if(t!==s&&e!==s||i.contains(o))return function(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||kt(t.firstElementChild)===t)}(s)?s:kt(s);var a=Ct(t);return a.host?At(a.host,e):At(t,Ct(e).host)}function Ot(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function St(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Ot(e,"top"),o=Ot(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function Dt(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function xt(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Lt(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function Nt(t){var e=t.body,n=t.documentElement,i=Lt(10)&&getComputedStyle(n);return{height:xt("Height",e,n,i),width:xt("Width",e,n,i)}}var It=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},jt=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),Pt=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Mt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function Ht(t){return Mt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Bt(t){var e={};try{if(Lt(10)){e=t.getBoundingClientRect();var n=Ot(t,"top"),i=Ot(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?Nt(t.ownerDocument):{},s=r.width||t.clientWidth||o.width,a=r.height||t.clientHeight||o.height,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var u=_t(t);l-=Dt(u,"x"),c-=Dt(u,"y"),o.width-=l,o.height-=c}return Ht(o)}function Rt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Lt(10),o="HTML"===e.nodeName,r=Bt(t),s=Bt(e),a=yt(t),l=_t(e),c=parseFloat(l.borderTopWidth),u=parseFloat(l.borderLeftWidth);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var f=Ht({top:r.top-s.top-c,left:r.left-s.left-u,width:r.width,height:r.height});if(f.marginTop=0,f.marginLeft=0,!i&&o){var h=parseFloat(l.marginTop),d=parseFloat(l.marginLeft);f.top-=c-h,f.bottom-=c-h,f.left-=u-d,f.right-=u-d,f.marginTop=h,f.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(f=St(f,e)),f}function Ft(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=Rt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:Ot(n),a=e?0:Ot(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r};return Ht(l)}function Wt(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===_t(t,"position"))return!0;var n=bt(t);return!!n&&Wt(n)}function Ut(t){if(!t||!t.parentElement||Lt())return document.documentElement;for(var e=t.parentElement;e&&"none"===_t(e,"transform");)e=e.parentElement;return e||document.documentElement}function Qt(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Ut(t):At(t,wt(e));if("viewport"===i)r=Ft(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=yt(bt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=Rt(a,s,o);if("HTML"!==a.nodeName||Wt(s))r=l;else{var c=Nt(t.ownerDocument),u=c.height,f=c.width;r.top+=l.top-l.marginTop,r.bottom=u+l.top,r.left+=l.left-l.marginLeft,r.right=f+l.left}}var h="number"==typeof(n=n||0);return r.left+=h?n:n.left||0,r.top+=h?n:n.top||0,r.right-=h?n:n.right||0,r.bottom-=h?n:n.bottom||0,r}function Vt(t){return t.width*t.height}function Kt(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=Qt(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map((function(t){return Mt({key:t},a[t],{area:Vt(a[t])})})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,f=t.split("-")[1];return u+(f?"-"+f:"")}function Yt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?Ut(e):At(e,wt(n));return Rt(n,o,i)}function qt(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function zt(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function Xt(t,e,n){n=n.split("-")[0];var i=qt(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[zt(a)],o}function Gt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function $t(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=Gt(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&vt(n)&&(e.offsets.popper=Ht(e.offsets.popper),e.offsets.reference=Ht(e.offsets.reference),e=n(e,t))})),e}function Zt(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Yt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=Kt(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Xt(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=$t(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function Jt(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function te(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if(void 0!==document.body.style[r])return r}return null}function ee(){return this.state.isDestroyed=!0,Jt(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[te("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function ne(t){var e=t.ownerDocument;return e?e.defaultView:window}function ie(t,e,n,i){n.updateBound=i,ne(t).addEventListener("resize",n.updateBound,{passive:!0});var o=yt(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(yt(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function oe(){this.state.eventsEnabled||(this.state=ie(this.reference,this.options,this.state,this.scheduleUpdate))}function re(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,ne(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function se(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function ae(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&se(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var le=pt&&/Firefox/i.test(navigator.userAgent);function ce(t,e,n){var i=Gt(t,(function(t){return t.name===e})),o=!!i&&t.some((function(t){return t.name===n&&t.enabled&&t.order<i.order}));if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var ue=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],fe=ue.slice(3);function he(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=fe.indexOf(t),i=fe.slice(n+1).concat(fe.slice(0,n));return e?i.reverse():i}var de="flip",pe="clockwise",ge="counterclockwise";function me(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),a=s.indexOf(Gt(s,(function(t){return-1!==t.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Ht(a)[e]/100*r}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){se(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var ve={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",u={start:Pt({},l,r[l]),end:Pt({},l,r[l]+r[c]-s[c])};t.offsets.popper=Mt({},s,u[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=se(+n)?[+n,0]:me(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||kt(t.instance.popper);t.instance.reference===n&&(n=kt(n));var i=te("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=Qt(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,u=t.offsets.popper,f={primary:function(t){var n=u[t];return u[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(u[t],l[t])),Pt({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=u[n];return u[t]>l[t]&&!e.escapeWithReference&&(i=Math.min(u[n],l[t]-("right"===t?u.width:u.height))),Pt({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=Mt({},u,f[e](t))})),t.offsets.popper=u,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!ce(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",u=l?"Top":"Left",f=u.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=qt(i)[c];a[d]-p<s[f]&&(t.offsets.popper[f]-=s[f]-(a[d]-p)),a[f]+p>s[d]&&(t.offsets.popper[f]+=a[f]+p-s[d]),t.offsets.popper=Ht(t.offsets.popper);var g=a[f]+a[c]/2-p/2,m=_t(t.instance.popper),v=parseFloat(m["margin"+u]),_=parseFloat(m["border"+u+"Width"]),b=g-t.offsets.popper[f]-v-_;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(Pt(n={},f,Math.round(b)),Pt(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(Jt(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=Qt(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=zt(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case de:s=[i,o];break;case pe:s=he(i);break;case ge:s=he(i,!0);break;default:s=e.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=zt(i);var c=t.offsets.popper,u=t.offsets.reference,f=Math.floor,h="left"===i&&f(c.right)>f(u.left)||"right"===i&&f(c.left)<f(u.right)||"top"===i&&f(c.bottom)>f(u.top)||"bottom"===i&&f(c.top)<f(u.bottom),d=f(c.left)<f(n.left),p=f(c.right)>f(n.right),g=f(c.top)<f(n.top),m=f(c.bottom)>f(n.bottom),v="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&d||_&&"end"===r&&p||!_&&"start"===r&&g||!_&&"end"===r&&m),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&d||!_&&"start"===r&&m||!_&&"end"===r&&g),w=b||y;(h||v||w)&&(t.flipped=!0,(h||v)&&(i=s[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=Mt({},t.offsets.popper,Xt(t.instance.popper,t.offsets.reference,t.placement)),t=$t(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=zt(e),t.offsets.popper=Ht(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!ce(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Gt(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=Gt(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=kt(t.instance.popper),l=Bt(a),c={position:o.position},u=function(t,e){var n=t.offsets,i=n.popper,o=n.reference,r=Math.round,s=Math.floor,a=function(t){return t},l=r(o.width),c=r(i.width),u=-1!==["left","right"].indexOf(t.placement),f=-1!==t.placement.indexOf("-"),h=e?u||f||l%2==c%2?r:s:a,d=e?r:a;return{left:h(l%2==1&&c%2==1&&!f&&e?i.left-1:i.left),top:d(i.top),bottom:d(i.bottom),right:h(i.right)}}(t,window.devicePixelRatio<2||!le),f="bottom"===n?"top":"bottom",h="right"===i?"left":"right",d=te("transform"),p=void 0,g=void 0;if(g="bottom"===f?"HTML"===a.nodeName?-a.clientHeight+u.bottom:-l.height+u.bottom:u.top,p="right"===h?"HTML"===a.nodeName?-a.clientWidth+u.right:-l.width+u.right:u.left,s&&d)c[d]="translate3d("+p+"px, "+g+"px, 0)",c[f]=0,c[h]=0,c.willChange="transform";else{var m="bottom"===f?-1:1,v="right"===h?-1:1;c[f]=g*m,c[h]=p*v,c.willChange=f+", "+h}var _={"x-placement":t.placement};return t.attributes=Mt({},_,t.attributes),t.styles=Mt({},c,t.styles),t.arrowStyles=Mt({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){return ae(t.instance.popper,t.styles),function(t,e){Object.keys(e).forEach((function(n){!1!==e[n]?t.setAttribute(n,e[n]):t.removeAttribute(n)}))}(t.instance.popper,t.attributes),t.arrowElement&&Object.keys(t.arrowStyles).length&&ae(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Yt(o,e,t,n.positionFixed),s=Kt(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),ae(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},_e=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};It(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=mt(this.update.bind(this)),this.options=Mt({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Mt({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=Mt({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return Mt({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&vt(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return jt(t,[{key:"update",value:function(){return Zt.call(this)}},{key:"destroy",value:function(){return ee.call(this)}},{key:"enableEventListeners",value:function(){return oe.call(this)}},{key:"disableEventListeners",value:function(){return re.call(this)}}]),t}();_e.Utils=("undefined"!=typeof window?window:global).PopperUtils,_e.placements=ue,_e.Defaults=ve;var be="dropdown",ye=new RegExp("ArrowUp|ArrowDown|Escape"),we={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Ee={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Te=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),w(t,"bs.dropdown",this)}var i=t.prototype;return i.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var e=this._element.classList.contains("show");t.clearMenus(),e||this.show()}},i.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};if(!U.trigger(this._element,"show.bs.dropdown",n).defaultPrevented){if(!this._inNavbar){if(void 0===_e)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:d(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add("position-static"),this._popper=new _e(i,this._menu,this._getPopperConfig())}var o;if("ontouchstart"in document.documentElement&&!e.closest(".navbar-nav"))(o=[]).concat.apply(o,document.body.children).forEach((function(t){return U.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),Z.toggleClass(this._menu,"show"),Z.toggleClass(this._element,"show"),U.trigger(e,"shown.bs.dropdown",n)}}},i.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};U.trigger(e,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),Z.toggleClass(this._menu,"show"),Z.toggleClass(this._element,"show"),U.trigger(e,"hidden.bs.dropdown",n))}},i.dispose=function(){T(this._element,"bs.dropdown"),U.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},i.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},i._addEventListeners=function(){var t=this;U.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},i._getConfig=function(t){return t=n({},this.constructor.Default,Z.getDataAttributes(this._element),t),g(be,t,this.constructor.DefaultType),t},i._getMenuElement=function(){return J.next(this._element,".dropdown-menu")[0]},i._getPlacement=function(){var t=this._element.parentNode,e="bottom-start";return t.classList.contains("dropup")?(e="top-start",this._menu.classList.contains("dropdown-menu-right")&&(e="top-end")):t.classList.contains("dropright")?e="right-start":t.classList.contains("dropleft")?e="left-start":this._menu.classList.contains("dropdown-menu-right")&&(e="bottom-end"),e},i._detectNavbar=function(){return Boolean(this._element.closest(".navbar"))},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=n({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),n({},t,this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=E(e,"bs.dropdown");if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.dropdownInterface(this,e)}))},t.clearMenus=function(e){if(!e||2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(var n=J.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var r=t.getParentFromElement(n[i]),s=E(n[i],"bs.dropdown"),a={relatedTarget:n[i]};if(e&&"click"===e.type&&(a.clickEvent=e),s){var l=s._menu;if(n[i].classList.contains("show"))if(!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&"Tab"===e.key)&&l.contains(e.target)))if(!U.trigger(r,"hide.bs.dropdown",a).defaultPrevented){var c;if("ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){return U.off(t,"mouseover",null,(function(){}))}));n[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),l.classList.remove("show"),n[i].classList.remove("show"),U.trigger(r,"hidden.bs.dropdown",a)}}}},t.getParentFromElement=function(t){return u(t)||t.parentNode},t.dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?"Space"===e.key||"Escape"!==e.key&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key||e.target.closest(".dropdown-menu")):!ye.test(e.key))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!this.classList.contains("disabled"))){var n=t.getParentFromElement(this),i=this.classList.contains("show");if("Escape"===e.key)return(this.matches('[data-toggle="dropdown"]')?this:J.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void t.clearMenus();if(i&&"Space"!==e.key){var o=J.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(m);if(o.length){var r=o.indexOf(e.target);"ArrowUp"===e.key&&r>0&&r--,"ArrowDown"===e.key&&r<o.length-1&&r++,o[r=-1===r?0:r].focus()}}else t.clearMenus()}},t.getInstance=function(t){return E(t,"bs.dropdown")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return we}},{key:"DefaultType",get:function(){return Ee}}]),t}();U.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',Te.dataApiKeydownHandler),U.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",Te.dataApiKeydownHandler),U.on(document,"click.bs.dropdown.data-api",Te.clearMenus),U.on(document,"keyup.bs.dropdown.data-api",Te.clearMenus),U.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),Te.dropdownInterface(this,"toggle")})),U.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()}));var Le=b();if(Le){var ke=Le.fn[be];Le.fn[be]=Te.jQueryInterface,Le.fn[be].Constructor=Te,Le.fn[be].noConflict=function(){return Le.fn[be]=ke,Te.jQueryInterface}}var Ce={backdrop:!0,keyboard:!0,focus:!0,show:!0},Ae={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Oe=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=J.findOne(".modal-dialog",t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,w(t,"bs.modal",this)}var i=t.prototype;return i.toggle=function(t){return this._isShown?this.hide():this.show(t)},i.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains("fade")&&(this._isTransitioning=!0);var n=U.trigger(this._element,"show.bs.modal",{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),U.on(this._element,"click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),U.on(this._dialog,"mousedown.dismiss.bs.modal",(function(){U.one(e._element,"mouseup.dismiss.bs.modal",(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},i.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!U.trigger(this._element,"hide.bs.modal").defaultPrevented){this._isShown=!1;var n=this._element.classList.contains("fade");if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),U.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),U.off(this._element,"click.dismiss.bs.modal"),U.off(this._dialog,"mousedown.dismiss.bs.modal"),n){var i=f(this._element);U.one(this._element,"transitionend",(function(t){return e._hideModal(t)})),p(this._element,i)}else this._hideModal()}},i.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return U.off(t,".bs.modal")})),U.off(document,"focusin.bs.modal"),T(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},i.handleUpdate=function(){this._adjustDialog()},i._getConfig=function(t){return t=n({},Ce,t),g("modal",t,Ae),t},i._showElement=function(t){var e=this,n=this._element.classList.contains("fade"),i=J.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),n&&_(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,U.trigger(e._element,"shown.bs.modal",{relatedTarget:t})};if(n){var r=f(this._dialog);U.one(this._dialog,"transitionend",o),p(this._dialog,r)}else o()},i._enforceFocus=function(){var t=this;U.off(document,"focusin.bs.modal"),U.on(document,"focusin.bs.modal",(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},i._setEscapeEvent=function(){var t=this;this._isShown?U.on(this._element,"keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&"Escape"===e.key?(e.preventDefault(),t.hide()):t._config.keyboard||"Escape"!==e.key||t._triggerBackdropTransition()})):U.off(this._element,"keydown.dismiss.bs.modal")},i._setResizeEvent=function(){var t=this;this._isShown?U.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):U.off(window,"resize.bs.modal")},i._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove("modal-open"),t._resetAdjustments(),t._resetScrollbar(),U.trigger(t._element,"hidden.bs.modal")}))},i._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},i._showBackdrop=function(t){var e=this,n=this._element.classList.contains("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),U.on(this._element,"click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&_(this._backdrop),this._backdrop.classList.add("show"),!n)return void t();var i=f(this._backdrop);U.one(this._backdrop,"transitionend",t),p(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove("show");var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains("fade")){var r=f(this._backdrop);U.one(this._backdrop,"transitionend",o),p(this._backdrop,r)}else o()}else t()},i._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(U.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;var e=this._element.scrollHeight>document.documentElement.clientHeight;e||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var n=f(this._dialog);U.off(this._element,"transitionend"),U.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static"),e||(U.one(t._element,"transitionend",(function(){t._element.style.overflowY=""})),p(t._element,n))})),p(this._element,n),this._element.focus()}else this.hide()},i._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},i._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},i._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},i._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){J.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];Z.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),J.find(".sticky-top").forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];Z.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Z.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add("modal-open")},i._resetScrollbar=function(){J.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(t){var e=Z.getDataAttribute(t,"padding-right");void 0!==e&&(Z.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),J.find(".sticky-top").forEach((function(t){var e=Z.getDataAttribute(t,"margin-right");void 0!==e&&(Z.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=Z.getDataAttribute(document.body,"padding-right");void 0===t?document.body.style.paddingRight="":(Z.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},i._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,i){return this.each((function(){var o=E(this,"bs.modal"),r=n({},Ce,Z.getDataAttributes(this),"object"==typeof e&&e?e:{});if(o||(o=new t(this,r)),"string"==typeof e){if(void 0===o[e])throw new TypeError('No method named "'+e+'"');o[e](i)}else r.show&&o.show(i)}))},t.getInstance=function(t){return E(t,"bs.modal")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return Ce}}]),t}();U.on(document,"click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e=this,i=u(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),U.one(i,"show.bs.modal",(function(t){t.defaultPrevented||U.one(i,"hidden.bs.modal",(function(){m(e)&&e.focus()}))}));var o=E(i,"bs.modal");if(!o){var r=n({},Z.getDataAttributes(i),Z.getDataAttributes(this));o=new Oe(i,r)}o.show(this)}));var Se=b();if(Se){var De=Se.fn.modal;Se.fn.modal=Oe.jQueryInterface,Se.fn.modal.Constructor=Oe,Se.fn.modal.noConflict=function(){return Se.fn.modal=De,Oe.jQueryInterface}}var xe=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Ne=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,Ie=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,je={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],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:[]};function Pe(t,e,n){var i;if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var o=(new window.DOMParser).parseFromString(t,"text/html"),r=Object.keys(e),s=(i=[]).concat.apply(i,o.body.querySelectorAll("*")),a=function(t,n){var i,o=s[t],a=o.nodeName.toLowerCase();if(-1===r.indexOf(a))return o.parentNode.removeChild(o),"continue";var l=(i=[]).concat.apply(i,o.attributes),c=[].concat(e["*"]||[],e[a]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===xe.indexOf(n)||Boolean(t.nodeValue.match(Ne)||t.nodeValue.match(Ie));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1})(t,c)||o.removeAttribute(t.nodeName)}))},l=0,c=s.length;l<c;l++)a(l);return o.body.innerHTML}var Me="tooltip",He=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Be=["sanitize","allowList","sanitizeFn"],Re={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object)"},Fe={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},We={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,allowList:je,popperConfig:null},Ue={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Qe=function(){function t(t,e){if(void 0===_e)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),w(t,this.constructor.DATA_KEY,this)}var i=t.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=E(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),w(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),T(this.element,this.constructor.DATA_KEY),U.off(this.element,this.constructor.EVENT_KEY),U.off(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},i.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=U.trigger(this.element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=a(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(s);this._addAttachmentClass(l);var c,u=this._getContainer();if(w(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||u.appendChild(o),U.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new _e(this.element,o,this._getPopperConfig(l)),o.classList.add("show"),"ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){U.on(t,"mouseover",(function(){}))}));var h=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,U.trigger(t.element,t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(this.tip.classList.contains("fade")){var d=f(this.tip);U.one(this.tip,"transitionend",h),p(this.tip,d)}else h()}},i.hide=function(){var t=this;if(this._popper){var e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),U.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!U.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return U.off(t,"mouseover",v)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=f(e);U.one(e,"transitionend",n),p(e,o)}else n();this._hoverState=""}}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent(J.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},i.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&d(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=Pe(e,this.config.allowList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},i.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},i._getPopperConfig=function(t){var e=this;return n({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},i._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=n({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:d(this.config.container)?this.config.container:J.findOne(this.config.container)},i._getAttachment=function(t){return Fe[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)U.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;U.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),U.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},U.on(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=n({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},i._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},i._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||E(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),w(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},i._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||E(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),w(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var e=Z.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==Be.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=n({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),g(Me,t,this.constructor.DefaultType),t.sanitize&&(t.template=Pe(t.template,t.allowList,t.sanitizeFn)),t},i._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},i._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(He);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},i._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each((function(){var n=E(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return E(t,"bs.tooltip")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return We}},{key:"NAME",get:function(){return Me}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Ue}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Re}}]),t}(),Ve=b();if(Ve){var Ke=Ve.fn[Me];Ve.fn[Me]=Qe.jQueryInterface,Ve.fn[Me].Constructor=Qe,Ve.fn[Me].noConflict=function(){return Ve.fn[Me]=Ke,Qe.jQueryInterface}}var Ye="popover",qe=new RegExp("(^|\\s)bs-popover\\S+","g"),ze=n({},Qe.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Xe=n({},Qe.DefaultType,{content:"(string|element|function)"}),Ge={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},$e=function(t){var n,i;function o(){return t.apply(this,arguments)||this}i=t,(n=o).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent(J.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(J.findOne(".popover-body",t),e),t.classList.remove("fade","show")},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(qe);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},o.jQueryInterface=function(t){return this.each((function(){var e=E(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),w(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o.getInstance=function(t){return E(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return ze}},{key:"NAME",get:function(){return Ye}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Ge}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Xe}}]),o}(Qe),Ze=b();if(Ze){var Je=Ze.fn[Ye];Ze.fn[Ye]=$e.jQueryInterface,Ze.fn[Ye].Constructor=$e,Ze.fn[Ye].noConflict=function(){return Ze.fn[Ye]=Je,$e.jQueryInterface}}var tn="scrollspy",en={offset:10,method:"auto",target:""},nn={offset:"number",method:"string",target:"(string|element)"},on=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link, "+this._config.target+" .list-group-item, "+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,U.on(this._scrollElement,"scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process(),w(t,"bs.scrollspy",this)}var i=t.prototype;return i.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),J.find(this._selector).map((function(t){var e=c(t),o=e?J.findOne(e):null;if(o){var r=o.getBoundingClientRect();if(r.width||r.height)return[Z[n](o).top+i,e]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},i.dispose=function(){T(this._element,"bs.scrollspy"),U.off(this._scrollElement,".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},i._getConfig=function(t){if("string"!=typeof(t=n({},en,"object"==typeof t&&t?t:{})).target&&d(t.target)){var e=t.target.id;e||(e=a(tn),t.target.id=e),t.target="#"+e}return g(tn,t,nn),t},i._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},i._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},i._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},i._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},i._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=J.findOne(e.join(","));n.classList.contains("dropdown-item")?(J.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),J.parents(n,".nav, .list-group").forEach((function(t){J.prev(t,".nav-link, .list-group-item").forEach((function(t){return t.classList.add("active")})),J.prev(t,".nav-item").forEach((function(t){J.children(t,".nav-link").forEach((function(t){return t.classList.add("active")}))}))}))),U.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})},i._clear=function(){J.find(this._selector).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t.jQueryInterface=function(e){return this.each((function(){var n=E(this,"bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return E(t,"bs.scrollspy")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return en}}]),t}();U.on(window,"load.bs.scrollspy.data-api",(function(){J.find('[data-spy="scroll"]').forEach((function(t){return new on(t,Z.getDataAttributes(t))}))}));var rn=b();if(rn){var sn=rn.fn[tn];rn.fn[tn]=on.jQueryInterface,rn.fn[tn].Constructor=on,rn.fn[tn].noConflict=function(){return rn.fn[tn]=sn,on.jQueryInterface}}var an=function(){function t(t){this._element=t,w(this._element,"bs.tab",this)}var n=t.prototype;return n.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active")||this._element.classList.contains("disabled"))){var e,n=u(this._element),i=this._element.closest(".nav, .list-group");if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?":scope > li > .active":".active";e=(e=J.find(o,i))[e.length-1]}var r=null;if(e&&(r=U.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(U.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){U.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),U.trigger(t._element,"shown.bs.tab",{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},n.dispose=function(){T(this._element,"bs.tab"),this._element=null},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?J.children(e,".active"):J.find(":scope > li > .active",e))[0],r=n&&o&&o.classList.contains("fade"),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=f(o);o.classList.remove("show"),U.one(o,"transitionend",s),p(o,a)}else s()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=J.findOne(":scope > .dropdown-menu .active",e.parentNode);i&&i.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(t.closest(".dropdown")&&J.find(".dropdown-toggle").forEach((function(t){return t.classList.add("active")})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=E(this,"bs.tab")||new t(this);if("string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return E(t,"bs.tab")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}}]),t}();U.on(document,"click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),(E(this,"bs.tab")||new an(this)).show()}));var ln=b();if(ln){var cn=ln.fn.tab;ln.fn.tab=an.jQueryInterface,ln.fn.tab.Constructor=an,ln.fn.tab.noConflict=function(){return ln.fn.tab=cn,an.jQueryInterface}}var un={animation:"boolean",autohide:"boolean",delay:"number"},fn={animation:!0,autohide:!0,delay:5e3},hn=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),w(t,"bs.toast",this)}var i=t.prototype;return i.show=function(){var t=this;if(!U.trigger(this._element,"show.bs.toast").defaultPrevented){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),U.trigger(t._element,"shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),_(this._element),this._element.classList.add("showing"),this._config.animation){var n=f(this._element);U.one(this._element,"transitionend",e),p(this._element,n)}else e()}},i.hide=function(){var t=this;if(this._element.classList.contains("show")&&!U.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),U.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=f(this._element);U.one(this._element,"transitionend",e),p(this._element,n)}else e()}},i.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),U.off(this._element,"click.dismiss.bs.toast"),T(this._element,"bs.toast"),this._element=null,this._config=null},i._getConfig=function(t){return t=n({},fn,Z.getDataAttributes(this._element),"object"==typeof t&&t?t:{}),g("toast",t,this.constructor.DefaultType),t},i._setListeners=function(){var t=this;U.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},i._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t.jQueryInterface=function(e){return this.each((function(){var n=E(this,"bs.toast");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return E(t,"bs.toast")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"DefaultType",get:function(){return un}},{key:"Default",get:function(){return fn}}]),t}(),dn=b();if(dn){var pn=dn.fn.toast;dn.fn.toast=hn.jQueryInterface,dn.fn.toast.Constructor=hn,dn.fn.toast.noConflict=function(){return dn.fn.toast=pn,hn.jQueryInterface}}return{Alert:V,Button:q,Carousel:rt,Collapse:ft,Dropdown:Te,Modal:Oe,Popover:$e,ScrollSpy:on,Tab:an,Toast:hn,Tooltip:Qe}}));
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function e(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function n(){return(n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}var i,o,r=function(t){do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},s=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},a=function(t){var e=s(t);return e&&document.querySelector(e)?e:null},l=function(t){var e=s(t);return e?document.querySelector(e):null},c=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},f=function(t){t.dispatchEvent(new Event("transitionend"))},u=function(t){return(t[0]||t).nodeType},h=function(t,e){var n=!1,i=e+5;t.addEventListener("transitionend",(function e(){n=!0,t.removeEventListener("transitionend",e)})),setTimeout((function(){n||f(t)}),i)},d=function(t,e,n){Object.keys(n).forEach((function(i){var o,r=n[i],s=e[i],a=s&&u(s)?"element":null==(o=s)?""+o:{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},p=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},g=function(){return function(){}},m=function(t){return t.offsetHeight},v=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},_=function(t){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t):t()},b=(i={},o=1,{set:function(t,e,n){void 0===t.bsKey&&(t.bsKey={key:e,id:o},o++),i[t.bsKey.id]=n},get:function(t,e){if(!t||void 0===t.bsKey)return null;var n=t.bsKey;return n.key===e?i[n.id]:null},delete:function(t,e){if(void 0!==t.bsKey){var n=t.bsKey;n.key===e&&(delete i[n.id],delete t.bsKey)}}}),y=function(t,e,n){b.set(t,e,n)},w=function(t,e){return b.get(t,e)},E=function(t,e){b.delete(t,e)},T=/[^.]*(?=\..*)\.|.*/,L=/\..*/,k=/::\d+$/,C={},O=1,A={mouseenter:"mouseover",mouseleave:"mouseout"},D=["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 S(t,e){return e&&e+"::"+O++||t.uidEvent||O++}function x(t){var e=S(t);return t.uidEvent=e,C[e]=C[e]||{},C[e]}function N(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function I(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(L,""),s=A[r];return s&&(r=s),D.indexOf(r)>-1||(r=t),[i,o,r]}function j(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=I(e,n,i),s=r[0],a=r[1],l=r[2],c=x(t),f=c[l]||(c[l]={}),u=N(f,a,s?n:null);if(u)u.oneOff=u.oneOff&&o;else{var h=S(a,e.replace(T,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return o.delegateTarget=s,i.oneOff&&M.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return i.delegateTarget=t,n.oneOff&&M.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,f[h]=d,t.addEventListener(l,d,s)}}}function P(t,e,n,i,o){var r=N(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var M={on:function(t,e,n,i){j(t,e,n,i,!1)},one:function(t,e,n,i){j(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=I(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=x(t),f="."===e.charAt(0);if(void 0===s){f&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(r){if(r.indexOf(i)>-1){var s=o[r];P(t,e,n,s.originalHandler,s.delegationSelector)}}))}(t,c,n,e.slice(1))}));var u=c[a]||{};Object.keys(u).forEach((function(n){var i=n.replace(k,"");if(!l||e.indexOf(i)>-1){var o=u[n];P(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;P(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=v(),r=e.replace(L,""),s=e!==r,a=D.indexOf(r)>-1,l=!0,c=!0,f=!1,u=null;return s&&o&&(i=o.Event(e,n),o(t).trigger(i),l=!i.isPropagationStopped(),c=!i.isImmediatePropagationStopped(),f=i.isDefaultPrevented()),a?(u=document.createEvent("HTMLEvents")).initEvent(r,l,!0):u=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})})),f&&u.preventDefault(),c&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},H="alert",R=function(){function t(t){this._element=t,this._element&&y(t,"bs.alert",this)}var n=t.prototype;return n.close=function(t){var e=t?this._getRootElement(t):this._element,n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){E(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){return l(t)||t.closest(".alert")},n._triggerCloseEvent=function(t){return M.trigger(t,"close.bs.alert")},n._removeElement=function(t){var e=this;if(t.classList.remove("show"),t.classList.contains("fade")){var n=c(t);M.one(t,"transitionend",(function(){return e._destroyElement(t)})),h(t,n)}else this._destroyElement(t)},n._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),M.trigger(t,"closed.bs.alert")},t.jQueryInterface=function(e){return this.each((function(){var n=w(this,"bs.alert");n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return w(t,"bs.alert")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}}]),t}();M.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',R.handleDismiss(new R)),_((function(){var t=v();if(t){var e=t.fn[H];t.fn[H]=R.jQueryInterface,t.fn[H].Constructor=R,t.fn[H].noConflict=function(){return t.fn[H]=e,R.jQueryInterface}}}));var B=function(){function t(t){this._element=t,y(t,"bs.button",this)}var n=t.prototype;return n.toggle=function(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))},n.dispose=function(){E(this._element,"bs.button"),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=w(this,"bs.button");n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return w(t,"bs.button")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}}]),t}();function F(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function W(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}M.on(document,"click.bs.button.data-api",'[data-toggle="button"]',(function(t){t.preventDefault();var e=t.target.closest('[data-toggle="button"]'),n=w(e,"bs.button");n||(n=new B(e)),n.toggle()})),_((function(){var t=v();if(t){var e=t.fn.button;t.fn.button=B.jQueryInterface,t.fn.button.Constructor=B,t.fn.button.noConflict=function(){return t.fn.button=e,B.jQueryInterface}}}));var U={setDataAttribute:function(t,e,n){t.setAttribute("data-"+W(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+W(e))},getDataAttributes:function(t){if(!t)return{};var e=n({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=F(e[t])})),e},getDataAttribute:function(t,e){return F(t.getAttribute("data-"+W(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}}},Q={matches:function(t,e){return t.matches(e)},find:function(t,e){var n;return void 0===e&&(e=document.documentElement),(n=[]).concat.apply(n,Element.prototype.querySelectorAll.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),Element.prototype.querySelector.call(e,t)},children:function(t,e){var n,i=(n=[]).concat.apply(n,t.children);return i.filter((function(t){return t.matches(e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},prev:function(t,e){for(var n=t.previousElementSibling;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next:function(t,e){for(var n=t.nextElementSibling;n;){if(this.matches(n,e))return[n];n=n.nextElementSibling}return[]}},V="carousel",K=".bs.carousel",Y={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},z={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},q={TOUCH:"touch",PEN:"pen"},X=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=Q.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners(),y(t,"bs.carousel",this)}var i=t.prototype;return i.next=function(){this._isSliding||this._slide("next")},i.nextWhenVisible=function(){!document.hidden&&p(this._element)&&this.next()},i.prev=function(){this._isSliding||this._slide("prev")},i.pause=function(t){t||(this._isPaused=!0),Q.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(f(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},i.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},i.to=function(t){var e=this;this._activeElement=Q.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)M.one(this._element,"slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},i.dispose=function(){M.off(this._element,K),E(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},i._getConfig=function(t){return t=n({},Y,t),d(V,t,z),t},i._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},i._addEventListeners=function(){var t=this;this._config.keyboard&&M.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(M.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),M.on(this._element,"mouseleave.bs.carousel",(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},i._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&q[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&q[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};Q.find(".carousel-item img",this._element).forEach((function(t){M.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(M.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),M.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(M.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),M.on(this._element,"touchmove.bs.carousel",(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),M.on(this._element,"touchend.bs.carousel",(function(t){return n(t)})))},i._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.key){case"ArrowLeft":t.preventDefault(),this.prev();break;case"ArrowRight":t.preventDefault(),this.next()}},i._getItemIndex=function(t){return this._items=t&&t.parentNode?Q.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},i._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},i._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(Q.findOne(".active.carousel-item",this._element));return M.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},i._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=Q.find(".active",this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add("active")}},i._updateInterval=function(){var t=this._activeElement||Q.findOne(".active.carousel-item",this._element);if(t){var e=parseInt(t.getAttribute("data-interval"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}},i._slide=function(t,e){var n,i,o,r=this,s=Q.findOne(".active.carousel-item",this._element),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),f=this._getItemIndex(l),u=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",o="left"):(n="carousel-item-right",i="carousel-item-prev",o="right"),l&&l.classList.contains("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&s&&l){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(l),this._activeElement=l,this._element.classList.contains("slide")){l.classList.add(i),m(l),s.classList.add(n),l.classList.add(n);var d=c(s);M.one(s,"transitionend",(function(){l.classList.remove(n,i),l.classList.add("active"),s.classList.remove("active",i,n),r._isSliding=!1,setTimeout((function(){M.trigger(r._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:f})}),0)})),h(s,d)}else s.classList.remove("active"),l.classList.add("active"),this._isSliding=!1,M.trigger(this._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:f});u&&this.cycle()}},t.carouselInterface=function(e,i){var o=w(e,"bs.carousel"),r=n({},Y,U.getDataAttributes(e));"object"==typeof i&&(r=n({},r,i));var s="string"==typeof i?i:r.slide;if(o||(o=new t(e,r)),"number"==typeof i)o.to(i);else if("string"==typeof s){if(void 0===o[s])throw new TypeError('No method named "'+s+'"');o[s]()}else r.interval&&r.ride&&(o.pause(),o.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var i=l(this);if(i&&i.classList.contains("carousel")){var o=n({},U.getDataAttributes(i),U.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(o.interval=!1),t.carouselInterface(i,o),r&&w(i,"bs.carousel").to(r),e.preventDefault()}},t.getInstance=function(t){return w(t,"bs.carousel")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return Y}}]),t}();M.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",X.dataApiClickHandler),M.on(window,"load.bs.carousel.data-api",(function(){for(var t=Q.find('[data-ride="carousel"]'),e=0,n=t.length;e<n;e++)X.carouselInterface(t[e],w(t[e],"bs.carousel"))})),_((function(){var t=v();if(t){var e=t.fn[V];t.fn[V]=X.jQueryInterface,t.fn[V].Constructor=X,t.fn[V].noConflict=function(){return t.fn[V]=e,X.jQueryInterface}}}));var G="collapse",$={toggle:!0,parent:""},Z={toggle:"boolean",parent:"(string|element)"},J=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=Q.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]');for(var n=Q.find('[data-toggle="collapse"]'),i=0,o=n.length;i<o;i++){var r=n[i],s=a(r),l=Q.find(s).filter((function(e){return e===t}));null!==s&&l.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),y(t,"bs.collapse",this)}var i=t.prototype;return i.toggle=function(){this._element.classList.contains("show")?this.hide():this.show()},i.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains("show")){var n,i;this._parent&&0===(n=Q.find(".show, .collapsing",this._parent).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains("collapse")}))).length&&(n=null);var o=Q.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?w(r[0],"bs.collapse"):null)&&i._isTransitioning)return}if(!M.trigger(this._element,"show.bs.collapse").defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||y(e,"bs.collapse",null)}));var s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),l=c(this._element);M.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse","show"),e._element.style[s]="",e.setTransitioning(!1),M.trigger(e._element,"shown.bs.collapse")})),h(this._element,l),this._element.style[s]=this._element[a]+"px"}}},i.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains("show")&&!M.trigger(this._element,"hide.bs.collapse").defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",m(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=l(o);r&&!r.classList.contains("show")&&(o.classList.add("collapsed"),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=c(this._element);M.one(this._element,"transitionend",(function(){t.setTransitioning(!1),t._element.classList.remove("collapsing"),t._element.classList.add("collapse"),M.trigger(t._element,"hidden.bs.collapse")})),h(this._element,s)}},i.setTransitioning=function(t){this._isTransitioning=t},i.dispose=function(){E(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},i._getConfig=function(t){return(t=n({},$,t)).toggle=Boolean(t.toggle),d(G,t,Z),t},i._getDimension=function(){return this._element.classList.contains("width")?"width":"height"},i._getParent=function(){var t=this,e=this._config.parent;u(e)?void 0===e.jquery&&void 0===e[0]||(e=e[0]):e=Q.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return Q.find(n,e).forEach((function(e){var n=l(e);t._addAriaAndCollapsedClass(n,[e])})),e},i._addAriaAndCollapsedClass=function(t,e){if(t&&e.length){var n=t.classList.contains("show");e.forEach((function(t){n?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,i){var o=w(e,"bs.collapse"),r=n({},$,U.getDataAttributes(e),"object"==typeof i&&i?i:{});if(!o&&r.toggle&&"string"==typeof i&&/show|hide/.test(i)&&(r.toggle=!1),o||(o=new t(e,r)),"string"==typeof i){if(void 0===o[i])throw new TypeError('No method named "'+i+'"');o[i]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return w(t,"bs.collapse")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return $}}]),t}();M.on(document,"click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.target.tagName&&t.preventDefault();var e=U.getDataAttributes(this),n=a(this);Q.find(n).forEach((function(t){var n,i=w(t,"bs.collapse");i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,J.collapseInterface(t,n)}))})),_((function(){var t=v();if(t){var e=t.fn[G];t.fn[G]=J.jQueryInterface,t.fn[G].Constructor=J,t.fn[G].noConflict=function(){return t.fn[G]=e,J.jQueryInterface}}}));var tt="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,et=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(tt&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var nt=tt&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),et))}};function it(t){return t&&"[object Function]"==={}.toString.call(t)}function ot(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function rt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function st(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=ot(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:st(rt(t))}function at(t){return t&&t.referenceNode?t.referenceNode:t}var lt=tt&&!(!window.MSInputMethodContext||!document.documentMode),ct=tt&&/MSIE 10/.test(navigator.userAgent);function ft(t){return 11===t?lt:10===t?ct:lt||ct}function ut(t){if(!t)return document.documentElement;for(var e=ft(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===ot(n,"position")?ut(n):n:t?t.ownerDocument.documentElement:document.documentElement}function ht(t){return null!==t.parentNode?ht(t.parentNode):t}function dt(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&ut(s.firstElementChild)!==s?ut(l):l;var c=ht(t);return c.host?dt(c.host,e):dt(t,ht(e).host)}function pt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function gt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=pt(e,"top"),o=pt(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function mt(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function vt(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],ft(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function _t(t){var e=t.body,n=t.documentElement,i=ft(10)&&getComputedStyle(n);return{height:vt("Height",e,n,i),width:vt("Width",e,n,i)}}var bt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},yt=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),wt=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Et=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function Tt(t){return Et({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Lt(t){var e={};try{if(ft(10)){e=t.getBoundingClientRect();var n=pt(t,"top"),i=pt(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?_t(t.ownerDocument):{},s=r.width||t.clientWidth||o.width,a=r.height||t.clientHeight||o.height,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var f=ot(t);l-=mt(f,"x"),c-=mt(f,"y"),o.width-=l,o.height-=c}return Tt(o)}function kt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=ft(10),o="HTML"===e.nodeName,r=Lt(t),s=Lt(e),a=st(t),l=ot(e),c=parseFloat(l.borderTopWidth),f=parseFloat(l.borderLeftWidth);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=Tt({top:r.top-s.top-c,left:r.left-s.left-f,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var h=parseFloat(l.marginTop),d=parseFloat(l.marginLeft);u.top-=c-h,u.bottom-=c-h,u.left-=f-d,u.right-=f-d,u.marginTop=h,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=gt(u,e)),u}function Ct(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=kt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:pt(n),a=e?0:pt(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r};return Tt(l)}function Ot(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===ot(t,"position"))return!0;var n=rt(t);return!!n&&Ot(n)}function At(t){if(!t||!t.parentElement||ft())return document.documentElement;for(var e=t.parentElement;e&&"none"===ot(e,"transform");)e=e.parentElement;return e||document.documentElement}function Dt(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?At(t):dt(t,at(e));if("viewport"===i)r=Ct(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=st(rt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=kt(a,s,o);if("HTML"!==a.nodeName||Ot(s))r=l;else{var c=_t(t.ownerDocument),f=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var h="number"==typeof(n=n||0);return r.left+=h?n:n.left||0,r.top+=h?n:n.top||0,r.right-=h?n:n.right||0,r.bottom-=h?n:n.bottom||0,r}function St(t){return t.width*t.height}function xt(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=Dt(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map((function(t){return Et({key:t},a[t],{area:St(a[t])})})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),f=c.length>0?c[0].key:l[0].key,u=t.split("-")[1];return f+(u?"-"+u:"")}function Nt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?At(e):dt(e,at(n));return kt(n,o,i)}function It(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function jt(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function Pt(t,e,n){n=n.split("-")[0];var i=It(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[jt(a)],o}function Mt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Ht(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=Mt(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&it(n)&&(e.offsets.popper=Tt(e.offsets.popper),e.offsets.reference=Tt(e.offsets.reference),e=n(e,t))})),e}function Rt(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Nt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=xt(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Pt(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=Ht(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function Bt(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function Ft(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if(void 0!==document.body.style[r])return r}return null}function Wt(){return this.state.isDestroyed=!0,Bt(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[Ft("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function Ut(t){var e=t.ownerDocument;return e?e.defaultView:window}function Qt(t,e,n,i){n.updateBound=i,Ut(t).addEventListener("resize",n.updateBound,{passive:!0});var o=st(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(st(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function Vt(){this.state.eventsEnabled||(this.state=Qt(this.reference,this.options,this.state,this.scheduleUpdate))}function Kt(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,Ut(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function Yt(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function zt(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&Yt(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var qt=tt&&/Firefox/i.test(navigator.userAgent);function Xt(t,e,n){var i=Mt(t,(function(t){return t.name===e})),o=!!i&&t.some((function(t){return t.name===n&&t.enabled&&t.order<i.order}));if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var Gt=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],$t=Gt.slice(3);function Zt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=$t.indexOf(t),i=$t.slice(n+1).concat($t.slice(0,n));return e?i.reverse():i}var Jt="flip",te="clockwise",ee="counterclockwise";function ne(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),a=s.indexOf(Mt(s,(function(t){return-1!==t.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Tt(a)[e]/100*r}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){Yt(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var ie={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:wt({},l,r[l]),end:wt({},l,r[l]+r[c]-s[c])};t.offsets.popper=Et({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=Yt(+n)?[+n,0]:ne(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||ut(t.instance.popper);t.instance.reference===n&&(n=ut(n));var i=Ft("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=Dt(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,f=t.offsets.popper,u={primary:function(t){var n=f[t];return f[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(f[t],l[t])),wt({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=f[n];return f[t]>l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),wt({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=Et({},f,u[e](t))})),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!Xt(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",f=l?"Top":"Left",u=f.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=It(i)[c];a[d]-p<s[u]&&(t.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=Tt(t.offsets.popper);var g=a[u]+a[c]/2-p/2,m=ot(t.instance.popper),v=parseFloat(m["margin"+f]),_=parseFloat(m["border"+f+"Width"]),b=g-t.offsets.popper[u]-v-_;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(wt(n={},u,Math.round(b)),wt(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(Bt(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=Dt(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=jt(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case Jt:s=[i,o];break;case te:s=Zt(i);break;case ee:s=Zt(i,!0);break;default:s=e.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=jt(i);var c=t.offsets.popper,f=t.offsets.reference,u=Math.floor,h="left"===i&&u(c.right)>u(f.left)||"right"===i&&u(c.left)<u(f.right)||"top"===i&&u(c.bottom)>u(f.top)||"bottom"===i&&u(c.top)<u(f.bottom),d=u(c.left)<u(n.left),p=u(c.right)>u(n.right),g=u(c.top)<u(n.top),m=u(c.bottom)>u(n.bottom),v="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&d||_&&"end"===r&&p||!_&&"start"===r&&g||!_&&"end"===r&&m),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&d||!_&&"start"===r&&m||!_&&"end"===r&&g),w=b||y;(h||v||w)&&(t.flipped=!0,(h||v)&&(i=s[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=Et({},t.offsets.popper,Pt(t.instance.popper,t.offsets.reference,t.placement)),t=Ht(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=jt(e),t.offsets.popper=Tt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Xt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Mt(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=Mt(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=ut(t.instance.popper),l=Lt(a),c={position:o.position},f=function(t,e){var n=t.offsets,i=n.popper,o=n.reference,r=Math.round,s=Math.floor,a=function(t){return t},l=r(o.width),c=r(i.width),f=-1!==["left","right"].indexOf(t.placement),u=-1!==t.placement.indexOf("-"),h=e?f||u||l%2==c%2?r:s:a,d=e?r:a;return{left:h(l%2==1&&c%2==1&&!u&&e?i.left-1:i.left),top:d(i.top),bottom:d(i.bottom),right:h(i.right)}}(t,window.devicePixelRatio<2||!qt),u="bottom"===n?"top":"bottom",h="right"===i?"left":"right",d=Ft("transform"),p=void 0,g=void 0;if(g="bottom"===u?"HTML"===a.nodeName?-a.clientHeight+f.bottom:-l.height+f.bottom:f.top,p="right"===h?"HTML"===a.nodeName?-a.clientWidth+f.right:-l.width+f.right:f.left,s&&d)c[d]="translate3d("+p+"px, "+g+"px, 0)",c[u]=0,c[h]=0,c.willChange="transform";else{var m="bottom"===u?-1:1,v="right"===h?-1:1;c[u]=g*m,c[h]=p*v,c.willChange=u+", "+h}var _={"x-placement":t.placement};return t.attributes=Et({},_,t.attributes),t.styles=Et({},c,t.styles),t.arrowStyles=Et({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return zt(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach((function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)})),t.arrowElement&&Object.keys(t.arrowStyles).length&&zt(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Nt(o,e,t,n.positionFixed),s=xt(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),zt(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},oe=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};bt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=nt(this.update.bind(this)),this.options=Et({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Et({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=Et({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return Et({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&it(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return yt(t,[{key:"update",value:function(){return Rt.call(this)}},{key:"destroy",value:function(){return Wt.call(this)}},{key:"enableEventListeners",value:function(){return Vt.call(this)}},{key:"disableEventListeners",value:function(){return Kt.call(this)}}]),t}();oe.Utils=("undefined"!=typeof window?window:global).PopperUtils,oe.placements=Gt,oe.Defaults=ie;var re="dropdown",se=new RegExp("ArrowUp|ArrowDown|Escape"),ae={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},le={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},ce=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),y(t,"bs.dropdown",this)}var i=t.prototype;return i.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var e=this._element.classList.contains("show");t.clearMenus(),e||this.show()}},i.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};if(!M.trigger(this._element,"show.bs.dropdown",n).defaultPrevented){if(!this._inNavbar){if(void 0===oe)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:u(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add("position-static"),this._popper=new oe(i,this._menu,this._getPopperConfig())}var o;if("ontouchstart"in document.documentElement&&!e.closest(".navbar-nav"))(o=[]).concat.apply(o,document.body.children).forEach((function(t){return M.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),M.trigger(e,"shown.bs.dropdown",n)}}},i.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};M.trigger(e,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),M.trigger(e,"hidden.bs.dropdown",n))}},i.dispose=function(){E(this._element,"bs.dropdown"),M.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},i.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},i._addEventListeners=function(){var t=this;M.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},i._getConfig=function(t){return t=n({},this.constructor.Default,U.getDataAttributes(this._element),t),d(re,t,this.constructor.DefaultType),t},i._getMenuElement=function(){return Q.next(this._element,".dropdown-menu")[0]},i._getPlacement=function(){var t=this._element.parentNode,e="bottom-start";return t.classList.contains("dropup")?e=this._menu.classList.contains("dropdown-menu-right")?"top-end":"top-start":t.classList.contains("dropright")?e="right-start":t.classList.contains("dropleft")?e="left-start":this._menu.classList.contains("dropdown-menu-right")&&(e="bottom-end"),e},i._detectNavbar=function(){return Boolean(this._element.closest(".navbar"))},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=n({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),n({},t,this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=w(e,"bs.dropdown");if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.dropdownInterface(this,e)}))},t.clearMenus=function(e){if(!e||2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(var n=Q.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var r=t.getParentFromElement(n[i]),s=w(n[i],"bs.dropdown"),a={relatedTarget:n[i]};if(e&&"click"===e.type&&(a.clickEvent=e),s){var l=s._menu;if(n[i].classList.contains("show"))if(!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&"Tab"===e.key)&&l.contains(e.target)))if(!M.trigger(r,"hide.bs.dropdown",a).defaultPrevented){var c;if("ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){return M.off(t,"mouseover",null,(function(){}))}));n[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),l.classList.remove("show"),n[i].classList.remove("show"),M.trigger(r,"hidden.bs.dropdown",a)}}}},t.getParentFromElement=function(t){return l(t)||t.parentNode},t.dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?"Space"===e.key||"Escape"!==e.key&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key||e.target.closest(".dropdown-menu")):!se.test(e.key))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!this.classList.contains("disabled"))){var n=t.getParentFromElement(this),i=this.classList.contains("show");if("Escape"===e.key)return(this.matches('[data-toggle="dropdown"]')?this:Q.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void t.clearMenus();if(i&&"Space"!==e.key){var o=Q.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(p);if(o.length){var r=o.indexOf(e.target);"ArrowUp"===e.key&&r>0&&r--,"ArrowDown"===e.key&&r<o.length-1&&r++,o[r=-1===r?0:r].focus()}}else t.clearMenus()}},t.getInstance=function(t){return w(t,"bs.dropdown")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return ae}},{key:"DefaultType",get:function(){return le}}]),t}();M.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',ce.dataApiKeydownHandler),M.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",ce.dataApiKeydownHandler),M.on(document,"click.bs.dropdown.data-api",ce.clearMenus),M.on(document,"keyup.bs.dropdown.data-api",ce.clearMenus),M.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),ce.dropdownInterface(this,"toggle")})),M.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()})),_((function(){var t=v();if(t){var e=t.fn[re];t.fn[re]=ce.jQueryInterface,t.fn[re].Constructor=ce,t.fn[re].noConflict=function(){return t.fn[re]=e,ce.jQueryInterface}}}));var fe={backdrop:!0,keyboard:!0,focus:!0,show:!0},ue={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},he=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=Q.findOne(".modal-dialog",t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,y(t,"bs.modal",this)}var i=t.prototype;return i.toggle=function(t){return this._isShown?this.hide():this.show(t)},i.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains("fade")&&(this._isTransitioning=!0);var n=M.trigger(this._element,"show.bs.modal",{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),M.on(this._element,"click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),M.on(this._dialog,"mousedown.dismiss.bs.modal",(function(){M.one(e._element,"mouseup.dismiss.bs.modal",(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},i.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!M.trigger(this._element,"hide.bs.modal").defaultPrevented){this._isShown=!1;var n=this._element.classList.contains("fade");if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),M.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),M.off(this._element,"click.dismiss.bs.modal"),M.off(this._dialog,"mousedown.dismiss.bs.modal"),n){var i=c(this._element);M.one(this._element,"transitionend",(function(t){return e._hideModal(t)})),h(this._element,i)}else this._hideModal()}},i.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return M.off(t,".bs.modal")})),M.off(document,"focusin.bs.modal"),E(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},i.handleUpdate=function(){this._adjustDialog()},i._getConfig=function(t){return t=n({},fe,t),d("modal",t,ue),t},i._showElement=function(t){var e=this,n=this._element.classList.contains("fade"),i=Q.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),n&&m(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,M.trigger(e._element,"shown.bs.modal",{relatedTarget:t})};if(n){var r=c(this._dialog);M.one(this._dialog,"transitionend",o),h(this._dialog,r)}else o()},i._enforceFocus=function(){var t=this;M.off(document,"focusin.bs.modal"),M.on(document,"focusin.bs.modal",(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},i._setEscapeEvent=function(){var t=this;this._isShown?M.on(this._element,"keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&"Escape"===e.key?(e.preventDefault(),t.hide()):t._config.keyboard||"Escape"!==e.key||t._triggerBackdropTransition()})):M.off(this._element,"keydown.dismiss.bs.modal")},i._setResizeEvent=function(){var t=this;this._isShown?M.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):M.off(window,"resize.bs.modal")},i._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove("modal-open"),t._resetAdjustments(),t._resetScrollbar(),M.trigger(t._element,"hidden.bs.modal")}))},i._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},i._showBackdrop=function(t){var e=this,n=this._element.classList.contains("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),M.on(this._element,"click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&m(this._backdrop),this._backdrop.classList.add("show"),!n)return void t();var i=c(this._backdrop);M.one(this._backdrop,"transitionend",t),h(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove("show");var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains("fade")){var r=c(this._backdrop);M.one(this._backdrop,"transitionend",o),h(this._backdrop,r)}else o()}else t()},i._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(M.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;var e=this._element.scrollHeight>document.documentElement.clientHeight;e||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var n=c(this._dialog);M.off(this._element,"transitionend"),M.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static"),e||(M.one(t._element,"transitionend",(function(){t._element.style.overflowY=""})),h(t._element,n))})),h(this._element,n),this._element.focus()}else this.hide()},i._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},i._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},i._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},i._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){Q.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];U.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),Q.find(".sticky-top").forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];U.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];U.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add("modal-open")},i._resetScrollbar=function(){Q.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(t){var e=U.getDataAttribute(t,"padding-right");void 0!==e&&(U.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),Q.find(".sticky-top").forEach((function(t){var e=U.getDataAttribute(t,"margin-right");void 0!==e&&(U.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=U.getDataAttribute(document.body,"padding-right");void 0===t?document.body.style.paddingRight="":(U.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},i._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,i){return this.each((function(){var o=w(this,"bs.modal"),r=n({},fe,U.getDataAttributes(this),"object"==typeof e&&e?e:{});if(o||(o=new t(this,r)),"string"==typeof e){if(void 0===o[e])throw new TypeError('No method named "'+e+'"');o[e](i)}else r.show&&o.show(i)}))},t.getInstance=function(t){return w(t,"bs.modal")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return fe}}]),t}();M.on(document,"click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e=this,i=l(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),M.one(i,"show.bs.modal",(function(t){t.defaultPrevented||M.one(i,"hidden.bs.modal",(function(){p(e)&&e.focus()}))}));var o=w(i,"bs.modal");if(!o){var r=n({},U.getDataAttributes(i),U.getDataAttributes(this));o=new he(i,r)}o.show(this)})),_((function(){var t=v();if(t){var e=t.fn.modal;t.fn.modal=he.jQueryInterface,t.fn.modal.Constructor=he,t.fn.modal.noConflict=function(){return t.fn.modal=e,he.jQueryInterface}}}));var de=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],pe=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,ge=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,me={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],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:[]};function ve(t,e,n){var i;if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var o=(new window.DOMParser).parseFromString(t,"text/html"),r=Object.keys(e),s=(i=[]).concat.apply(i,o.body.querySelectorAll("*")),a=function(t,n){var i,o=s[t],a=o.nodeName.toLowerCase();if(-1===r.indexOf(a))return o.parentNode.removeChild(o),"continue";var l=(i=[]).concat.apply(i,o.attributes),c=[].concat(e["*"]||[],e[a]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===de.indexOf(n)||Boolean(t.nodeValue.match(pe)||t.nodeValue.match(ge));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1})(t,c)||o.removeAttribute(t.nodeName)}))},l=0,c=s.length;l<c;l++)a(l);return o.body.innerHTML}var _e="tooltip",be=new RegExp("(^|\\s)bs-tooltip\\S+","g"),ye=["sanitize","allowList","sanitizeFn"],we={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object)"},Ee={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Te={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,allowList:me,popperConfig:null},Le={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},ke=function(){function t(t,e){if(void 0===oe)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),y(t,this.constructor.DATA_KEY,this)}var i=t.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=w(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),y(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),E(this.element,this.constructor.DATA_KEY),M.off(this.element,this.constructor.EVENT_KEY),M.off(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},i.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=M.trigger(this.element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),s=r(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&o.classList.add("fade");var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);var f,u=this._getContainer();if(y(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||u.appendChild(o),M.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new oe(this.element,o,this._getPopperConfig(l)),o.classList.add("show"),"ontouchstart"in document.documentElement)(f=[]).concat.apply(f,document.body.children).forEach((function(t){M.on(t,"mouseover",(function(){}))}));var d=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,M.trigger(t.element,t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(this.tip.classList.contains("fade")){var p=c(this.tip);M.one(this.tip,"transitionend",d),h(this.tip,p)}else d()}},i.hide=function(){var t=this;if(this._popper){var e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),M.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!M.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return M.off(t,"mouseover",g)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=c(e);M.one(e,"transitionend",n),h(e,o)}else n();this._hoverState=""}}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent(Q.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},i.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&u(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=ve(e,this.config.allowList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},i.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},i._getPopperConfig=function(t){var e=this;return n({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},i._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=n({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:u(this.config.container)?this.config.container:Q.findOne(this.config.container)},i._getAttachment=function(t){return Ee[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)M.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;M.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),M.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},M.on(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=n({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},i._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},i._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||w(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),y(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},i._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||w(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),y(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var e=U.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==ye.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=n({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d(_e,t,this.constructor.DefaultType),t.sanitize&&(t.template=ve(t.template,t.allowList,t.sanitizeFn)),t},i._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},i._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(be);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},i._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each((function(){var n=w(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return w(t,"bs.tooltip")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return Te}},{key:"NAME",get:function(){return _e}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Le}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return we}}]),t}();_((function(){var t=v();if(t){var e=t.fn[_e];t.fn[_e]=ke.jQueryInterface,t.fn[_e].Constructor=ke,t.fn[_e].noConflict=function(){return t.fn[_e]=e,ke.jQueryInterface}}}));var Ce="popover",Oe=new RegExp("(^|\\s)bs-popover\\S+","g"),Ae=n({},ke.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),De=n({},ke.DefaultType,{content:"(string|element|function)"}),Se={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},xe=function(t){var n,i;function o(){return t.apply(this,arguments)||this}i=t,(n=o).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent(Q.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(Q.findOne(".popover-body",t),e),t.classList.remove("fade","show")},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Oe);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},o.jQueryInterface=function(t){return this.each((function(){var e=w(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),y(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o.getInstance=function(t){return w(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return Ce}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Se}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return De}}]),o}(ke);_((function(){var t=v();if(t){var e=t.fn[Ce];t.fn[Ce]=xe.jQueryInterface,t.fn[Ce].Constructor=xe,t.fn[Ce].noConflict=function(){return t.fn[Ce]=e,xe.jQueryInterface}}}));var Ne="scrollspy",Ie={offset:10,method:"auto",target:""},je={offset:"number",method:"string",target:"(string|element)"},Pe=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link, "+this._config.target+" .list-group-item, "+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,M.on(this._scrollElement,"scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process(),y(t,"bs.scrollspy",this)}var i=t.prototype;return i.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),Q.find(this._selector).map((function(t){var e=a(t),o=e?Q.findOne(e):null;if(o){var r=o.getBoundingClientRect();if(r.width||r.height)return[U[n](o).top+i,e]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},i.dispose=function(){E(this._element,"bs.scrollspy"),M.off(this._scrollElement,".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},i._getConfig=function(t){if("string"!=typeof(t=n({},Ie,"object"==typeof t&&t?t:{})).target&&u(t.target)){var e=t.target.id;e||(e=r(Ne),t.target.id=e),t.target="#"+e}return d(Ne,t,je),t},i._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},i._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},i._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},i._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},i._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=Q.findOne(e.join(","));n.classList.contains("dropdown-item")?(Q.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),Q.parents(n,".nav, .list-group").forEach((function(t){Q.prev(t,".nav-link, .list-group-item").forEach((function(t){return t.classList.add("active")})),Q.prev(t,".nav-item").forEach((function(t){Q.children(t,".nav-link").forEach((function(t){return t.classList.add("active")}))}))}))),M.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})},i._clear=function(){Q.find(this._selector).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t.jQueryInterface=function(e){return this.each((function(){var n=w(this,"bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return w(t,"bs.scrollspy")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return Ie}}]),t}();M.on(window,"load.bs.scrollspy.data-api",(function(){Q.find('[data-spy="scroll"]').forEach((function(t){return new Pe(t,U.getDataAttributes(t))}))})),_((function(){var t=v();if(t){var e=t.fn[Ne];t.fn[Ne]=Pe.jQueryInterface,t.fn[Ne].Constructor=Pe,t.fn[Ne].noConflict=function(){return t.fn[Ne]=e,Pe.jQueryInterface}}}));var Me=function(){function t(t){this._element=t,y(this._element,"bs.tab",this)}var n=t.prototype;return n.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active")||this._element.classList.contains("disabled"))){var e,n=l(this._element),i=this._element.closest(".nav, .list-group");if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?":scope > li > .active":".active";e=(e=Q.find(o,i))[e.length-1]}var r=null;if(e&&(r=M.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(M.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){M.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),M.trigger(t._element,"shown.bs.tab",{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},n.dispose=function(){E(this._element,"bs.tab"),this._element=null},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?Q.children(e,".active"):Q.find(":scope > li > .active",e))[0],r=n&&o&&o.classList.contains("fade"),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=c(o);o.classList.remove("show"),M.one(o,"transitionend",s),h(o,a)}else s()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=Q.findOne(":scope > .dropdown-menu .active",e.parentNode);i&&i.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),m(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(t.closest(".dropdown")&&Q.find(".dropdown-toggle").forEach((function(t){return t.classList.add("active")})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=w(this,"bs.tab")||new t(this);if("string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return w(t,"bs.tab")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}}]),t}();M.on(document,"click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),(w(this,"bs.tab")||new Me(this)).show()})),_((function(){var t=v();if(t){var e=t.fn.tab;t.fn.tab=Me.jQueryInterface,t.fn.tab.Constructor=Me,t.fn.tab.noConflict=function(){return t.fn.tab=e,Me.jQueryInterface}}}));var He={animation:"boolean",autohide:"boolean",delay:"number"},Re={animation:!0,autohide:!0,delay:5e3},Be=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),y(t,"bs.toast",this)}var i=t.prototype;return i.show=function(){var t=this;if(!M.trigger(this._element,"show.bs.toast").defaultPrevented){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),M.trigger(t._element,"shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),m(this._element),this._element.classList.add("showing"),this._config.animation){var n=c(this._element);M.one(this._element,"transitionend",e),h(this._element,n)}else e()}},i.hide=function(){var t=this;if(this._element.classList.contains("show")&&!M.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),M.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=c(this._element);M.one(this._element,"transitionend",e),h(this._element,n)}else e()}},i.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),M.off(this._element,"click.dismiss.bs.toast"),E(this._element,"bs.toast"),this._element=null,this._config=null},i._getConfig=function(t){return t=n({},Re,U.getDataAttributes(this._element),"object"==typeof t&&t?t:{}),d("toast",t,this.constructor.DefaultType),t},i._setListeners=function(){var t=this;M.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},i._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t.jQueryInterface=function(e){return this.each((function(){var n=w(this,"bs.toast");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return w(t,"bs.toast")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"DefaultType",get:function(){return He}},{key:"Default",get:function(){return Re}}]),t}();return _((function(){var t=v();if(t){var e=t.fn.toast;t.fn.toast=Be.jQueryInterface,t.fn.toast.Constructor=Be,t.fn.toast.noConflict=function(){return t.fn.toast=e,Be.jQueryInterface}}})),{Alert:R,Button:B,Carousel:X,Collapse:J,Dropdown:ce,Modal:he,Popover:xe,ScrollSpy:Pe,Tab:Me,Toast:Be,Tooltip:ke}}));
//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.min.js.map b/dist/js/bootstrap.bundle.min.js.map
index 461986e0b1..56255b5782 100644
--- a/dist/js/bootstrap.bundle.min.js.map
+++ b/dist/js/bootstrap.bundle.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","element","getUID","prefix","Math","floor","random","document","getElementById","getSelector","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","bsKey","get","keyProperties","delete","Data","instance","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","_","this","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","delegateTarget","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","jQueryEvent","isNative","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","_this","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_extends","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","add","SelectorEngine","_ref","documentElement","concat","findFn","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","Collapse","_isTransitioning","_triggerArray","SELECTOR_DATA_TOGGLE","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","css","ownerDocument","defaultView","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","getScroll","side","arguments","undefined","upperSide","html","scrollingElement","includeScroll","subtract","modifier","bottom","right","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","assign","source","hasOwnProperty","getClientRect","offsets","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","sort","a","b","filteredAreas","computedPlacement","variation","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","console","warn","enabled","update","isDestroyed","arrowStyles","flipped","options","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","toCheck","destroy","willChange","disableEventListeners","removeOnDestroy","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","setAttributes","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEY","boundary","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","referenceElement","_getPopperConfig","focus","stopPropagation","constructor","_getPlacement","parentDropdown","_getOffset","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","_this9","isModalOverflowing","scrollHeight","modalTransitionDuration","paddingLeft","paddingRight","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultAllowlist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","_loop","elName","attributeList","allowedAttributes","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","DATA_KEY","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","_handlePopperPlacementChange","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","token","tClass","popperData","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","SELECTOR_NAV_LINKS","navItem","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast","_clearTimeout"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","mapData","set","key","data","bsKey","get","keyProperties","delete","Data","instance","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","querySelectorAll","target","this","delegateTarget","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","jQueryEvent","$","isNative","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","defineProperty","preventDefault","NAME","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","_this","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Button","toggle","setAttribute","normalizeData","val","Number","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","_extends","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","SelectorEngine","matches","find","_ref","documentElement","concat","Element","prototype","findOne","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","e","add","move","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","elementInterval","parseInt","defaultInterval","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","Collapse","_isTransitioning","_triggerArray","SELECTOR_DATA_TOGGLE","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","css","ownerDocument","defaultView","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","side","arguments","undefined","upperSide","html","scrollingElement","includeScroll","subtract","modifier","bottom","right","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","assign","source","hasOwnProperty","getClientRect","offsets","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","sort","a","b","filteredAreas","computedPlacement","variation","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","console","warn","enabled","update","isDestroyed","arrowStyles","flipped","options","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","toCheck","destroy","willChange","disableEventListeners","removeOnDestroy","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEY","boundary","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","referenceElement","_getPopperConfig","focus","stopPropagation","constructor","_getPlacement","parentDropdown","_getOffset","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","_this9","isModalOverflowing","scrollHeight","modalTransitionDuration","paddingLeft","paddingRight","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultAllowlist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","_loop","elName","attributeList","allowedAttributes","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","DATA_KEY","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","_handlePopperPlacementChange","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","token","tClass","popperData","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","SELECTOR_NAV_LINKS","navItem","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast","_clearTimeout"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nexport {\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n }\n})\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n }\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\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 const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha3'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n }\n})\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n }\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n }\n})\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n }\n})\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n }\n})\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n }\n})\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.js b/dist/js/bootstrap.esm.js
index b47e0e9688..88d8edcabd 100644
--- a/dist/js/bootstrap.esm.js
+++ b/dist/js/bootstrap.esm.js
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -47,7 +47,7 @@ function _inheritsLoose(subClass, superClass) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): util/index.js
+ * Bootstrap (v5.0.0-alpha3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -220,9 +220,17 @@ var getjQuery = function getjQuery() {
return null;
};
+var onDOMContentLoaded = function onDOMContentLoaded(callback) {
+ if (document.readyState === 'loading') {
+ document.addEventListener('DOMContentLoaded', callback);
+ } else {
+ callback();
+ }
+};
+
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/data.js
+ * Bootstrap (v5.0.0-alpha3): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -287,81 +295,9 @@ var Data = {
}
};
-/* istanbul ignore file */
-var find = Element.prototype.querySelectorAll;
-var findOne = Element.prototype.querySelector; // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
-
-var defaultPreventedPreservedOnDispatch = function () {
- var e = new CustomEvent('Bootstrap', {
- cancelable: true
- });
- var element = document.createElement('div');
- element.addEventListener('Bootstrap', function () {
- return null;
- });
- e.preventDefault();
- element.dispatchEvent(e);
- return e.defaultPrevented;
-}();
-
-var scopeSelectorRegex = /:scope\b/;
-
-var supportScopeQuery = function () {
- var element = document.createElement('div');
-
- try {
- element.querySelectorAll(':scope *');
- } catch (_) {
- return false;
- }
-
- return true;
-}();
-
-if (!supportScopeQuery) {
- find = function find(selector) {
- if (!scopeSelectorRegex.test(selector)) {
- return this.querySelectorAll(selector);
- }
-
- var hasId = Boolean(this.id);
-
- if (!hasId) {
- this.id = getUID('scope');
- }
-
- var nodeList = null;
-
- try {
- selector = selector.replace(scopeSelectorRegex, "#" + this.id);
- nodeList = this.querySelectorAll(selector);
- } finally {
- if (!hasId) {
- this.removeAttribute('id');
- }
- }
-
- return nodeList;
- };
-
- findOne = function findOne(selector) {
- if (!scopeSelectorRegex.test(selector)) {
- return this.querySelector(selector);
- }
-
- var matches = find.call(this, selector);
-
- if (typeof matches[0] !== 'undefined') {
- return matches[0];
- }
-
- return null;
- };
-}
-
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/event-handler.js
+ * Bootstrap (v5.0.0-alpha3): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -371,7 +307,6 @@ if (!supportScopeQuery) {
* ------------------------------------------------------------------------
*/
-var $ = getjQuery();
var namespaceRegex = /[^.]*(?=\..*)\.|.*/;
var stripNameRegex = /\..*/;
var stripUidRegex = /::\d+$/;
@@ -580,6 +515,7 @@ var EventHandler = {
return null;
}
+ var $ = getjQuery();
var typeEvent = event.replace(stripNameRegex, '');
var inNamespace = event !== typeEvent;
var isNative = nativeEvents.indexOf(typeEvent) > -1;
@@ -620,14 +556,6 @@ var EventHandler = {
if (defaultPrevented) {
evt.preventDefault();
-
- if (!defaultPreventedPreservedOnDispatch) {
- Object.defineProperty(evt, 'defaultPrevented', {
- get: function get() {
- return true;
- }
- });
- }
}
if (nativeDispatch) {
@@ -649,7 +577,7 @@ var EventHandler = {
*/
var NAME = 'alert';
-var VERSION = '5.0.0-alpha2';
+var VERSION = '5.0.0-alpha3';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -777,26 +705,28 @@ var Alert = /*#__PURE__*/function () {
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
-var $$1 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .alert to jQuery only if jQuery is present
+ * add .Alert to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
-if ($$1) {
- var JQUERY_NO_CONFLICT = $$1.fn[NAME];
- $$1.fn[NAME] = Alert.jQueryInterface;
- $$1.fn[NAME].Constructor = Alert;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ $.fn[NAME] = Alert.jQueryInterface;
+ $.fn[NAME].Constructor = Alert;
- $$1.fn[NAME].noConflict = function () {
- $$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Alert.jQueryInterface;
- };
-}
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Alert.jQueryInterface;
+ };
+ }
+});
/**
* ------------------------------------------------------------------------
@@ -805,7 +735,7 @@ if ($$1) {
*/
var NAME$1 = 'button';
-var VERSION$1 = '5.0.0-alpha2';
+var VERSION$1 = '5.0.0-alpha3';
var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
@@ -884,30 +814,32 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE, function
data.toggle();
});
-var $$2 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .button to jQuery only if jQuery is present
+ * add .Button to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
-if ($$2) {
- var JQUERY_NO_CONFLICT$1 = $$2.fn[NAME$1];
- $$2.fn[NAME$1] = Button.jQueryInterface;
- $$2.fn[NAME$1].Constructor = Button;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$1];
+ $.fn[NAME$1] = Button.jQueryInterface;
+ $.fn[NAME$1].Constructor = Button;
- $$2.fn[NAME$1].noConflict = function () {
- $$2.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
- return Button.jQueryInterface;
- };
-}
+ $.fn[NAME$1].noConflict = function () {
+ $.fn[NAME$1] = JQUERY_NO_CONFLICT;
+ return Button.jQueryInterface;
+ };
+ }
+});
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/manipulator.js
+ * Bootstrap (v5.0.0-alpha3): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -976,36 +908,36 @@ var Manipulator = {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js
+ * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
+
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
-
var NODE_TEXT = 3;
var SelectorEngine = {
matches: function matches(element, selector) {
return element.matches(selector);
},
- find: function find$1(selector, element) {
+ find: function find(selector, element) {
var _ref;
if (element === void 0) {
element = document.documentElement;
}
- return (_ref = []).concat.apply(_ref, find.call(element, selector));
+ return (_ref = []).concat.apply(_ref, Element.prototype.querySelectorAll.call(element, selector));
},
- findOne: function findOne$1(selector, element) {
+ findOne: function findOne(selector, element) {
if (element === void 0) {
element = document.documentElement;
}
- return findOne.call(element, selector);
+ return Element.prototype.querySelector.call(element, selector);
},
children: function children(element, selector) {
var _ref2;
@@ -1065,7 +997,7 @@ var SelectorEngine = {
*/
var NAME$2 = 'carousel';
-var VERSION$2 = '5.0.0-alpha2';
+var VERSION$2 = '5.0.0-alpha3';
var DATA_KEY$2 = 'bs.carousel';
var EVENT_KEY$2 = "." + DATA_KEY$2;
var DATA_API_KEY$2 = '.data-api';
@@ -1203,6 +1135,8 @@ var Carousel = /*#__PURE__*/function () {
}
if (this._config && this._config.interval && !this._isPaused) {
+ this._updateInterval();
+
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
}
};
@@ -1444,6 +1378,23 @@ var Carousel = /*#__PURE__*/function () {
}
};
+ _proto._updateInterval = function _updateInterval() {
+ var element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
+
+ if (!element) {
+ return;
+ }
+
+ var elementInterval = parseInt(element.getAttribute('data-interval'), 10);
+
+ if (elementInterval) {
+ this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
+ this._config.interval = elementInterval;
+ } else {
+ this._config.interval = this._config.defaultInterval || this._config.interval;
+ }
+ };
+
_proto._slide = function _slide(direction, element) {
var _this4 = this;
@@ -1494,20 +1445,13 @@ var Carousel = /*#__PURE__*/function () {
this._setActiveIndicatorElement(nextElement);
+ this._activeElement = nextElement;
+
if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
nextElement.classList.add(orderClassName);
reflow(nextElement);
activeElement.classList.add(directionalClassName);
nextElement.classList.add(directionalClassName);
- var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
-
- if (nextElementInterval) {
- this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
- this._config.interval = nextElementInterval;
- } else {
- this._config.interval = this._config.defaultInterval || this._config.interval;
- }
-
var transitionDuration = getTransitionDurationFromElement(activeElement);
EventHandler.one(activeElement, TRANSITION_END, function () {
nextElement.classList.remove(directionalClassName, orderClassName);
@@ -1634,26 +1578,28 @@ EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2));
}
});
-var $$3 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .carousel to jQuery only if jQuery is present
+ * add .Carousel to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
-if ($$3) {
- var JQUERY_NO_CONFLICT$2 = $$3.fn[NAME$2];
- $$3.fn[NAME$2] = Carousel.jQueryInterface;
- $$3.fn[NAME$2].Constructor = Carousel;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$2];
+ $.fn[NAME$2] = Carousel.jQueryInterface;
+ $.fn[NAME$2].Constructor = Carousel;
- $$3.fn[NAME$2].noConflict = function () {
- $$3.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
- return Carousel.jQueryInterface;
- };
-}
+ $.fn[NAME$2].noConflict = function () {
+ $.fn[NAME$2] = JQUERY_NO_CONFLICT;
+ return Carousel.jQueryInterface;
+ };
+ }
+});
/**
* ------------------------------------------------------------------------
@@ -1662,7 +1608,7 @@ if ($$3) {
*/
var NAME$3 = 'collapse';
-var VERSION$3 = '5.0.0-alpha2';
+var VERSION$3 = '5.0.0-alpha3';
var DATA_KEY$3 = 'bs.collapse';
var EVENT_KEY$3 = "." + DATA_KEY$3;
var DATA_API_KEY$3 = '.data-api';
@@ -2034,26 +1980,28 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, functi
Collapse.collapseInterface(element, config);
});
});
-var $$4 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .collapse to jQuery only if jQuery is present
+ * add .Collapse to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
-if ($$4) {
- var JQUERY_NO_CONFLICT$3 = $$4.fn[NAME$3];
- $$4.fn[NAME$3] = Collapse.jQueryInterface;
- $$4.fn[NAME$3].Constructor = Collapse;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$3];
+ $.fn[NAME$3] = Collapse.jQueryInterface;
+ $.fn[NAME$3].Constructor = Collapse;
- $$4.fn[NAME$3].noConflict = function () {
- $$4.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
- return Collapse.jQueryInterface;
- };
-}
+ $.fn[NAME$3].noConflict = function () {
+ $.fn[NAME$3] = JQUERY_NO_CONFLICT;
+ return Collapse.jQueryInterface;
+ };
+ }
+});
/**
* ------------------------------------------------------------------------
@@ -2062,7 +2010,7 @@ if ($$4) {
*/
var NAME$4 = 'dropdown';
-var VERSION$4 = '5.0.0-alpha2';
+var VERSION$4 = '5.0.0-alpha3';
var DATA_KEY$4 = 'bs.dropdown';
var EVENT_KEY$4 = "." + DATA_KEY$4;
var DATA_API_KEY$4 = '.data-api';
@@ -2296,11 +2244,7 @@ var Dropdown = /*#__PURE__*/function () {
var placement = PLACEMENT_BOTTOM; // Handle dropup
if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
- placement = PLACEMENT_TOP;
-
- if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
- placement = PLACEMENT_TOPEND;
- }
+ placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {
placement = PLACEMENT_RIGHT;
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {
@@ -2544,26 +2488,28 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, functi
EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
return e.stopPropagation();
});
-var $$5 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .dropdown to jQuery only if jQuery is present
+ * add .Dropdown to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
-if ($$5) {
- var JQUERY_NO_CONFLICT$4 = $$5.fn[NAME$4];
- $$5.fn[NAME$4] = Dropdown.jQueryInterface;
- $$5.fn[NAME$4].Constructor = Dropdown;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$4];
+ $.fn[NAME$4] = Dropdown.jQueryInterface;
+ $.fn[NAME$4].Constructor = Dropdown;
- $$5.fn[NAME$4].noConflict = function () {
- $$5.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
- return Dropdown.jQueryInterface;
- };
-}
+ $.fn[NAME$4].noConflict = function () {
+ $.fn[NAME$4] = JQUERY_NO_CONFLICT;
+ return Dropdown.jQueryInterface;
+ };
+ }
+});
/**
* ------------------------------------------------------------------------
@@ -2572,7 +2518,7 @@ if ($$5) {
*/
var NAME$5 = 'modal';
-var VERSION$5 = '5.0.0-alpha2';
+var VERSION$5 = '5.0.0-alpha3';
var DATA_KEY$5 = 'bs.modal';
var EVENT_KEY$5 = "." + DATA_KEY$5;
var DATA_API_KEY$5 = '.data-api';
@@ -3173,30 +3119,32 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, functi
data.show(this);
});
-var $$6 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .modal to jQuery only if jQuery is present
+ * add .Modal to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
-if ($$6) {
- var JQUERY_NO_CONFLICT$5 = $$6.fn[NAME$5];
- $$6.fn[NAME$5] = Modal.jQueryInterface;
- $$6.fn[NAME$5].Constructor = Modal;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$5];
+ $.fn[NAME$5] = Modal.jQueryInterface;
+ $.fn[NAME$5].Constructor = Modal;
- $$6.fn[NAME$5].noConflict = function () {
- $$6.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
- return Modal.jQueryInterface;
- };
-}
+ $.fn[NAME$5].noConflict = function () {
+ $.fn[NAME$5] = JQUERY_NO_CONFLICT;
+ return Modal.jQueryInterface;
+ };
+ }
+});
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): util/sanitizer.js
+ * Bootstrap (v5.0.0-alpha3): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3328,7 +3276,7 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {
*/
var NAME$6 = 'tooltip';
-var VERSION$6 = '5.0.0-alpha2';
+var VERSION$6 = '5.0.0-alpha3';
var DATA_KEY$6 = 'bs.tooltip';
var EVENT_KEY$6 = "." + DATA_KEY$6;
var CLASS_PREFIX = 'bs-tooltip';
@@ -4052,27 +4000,29 @@ var Tooltip = /*#__PURE__*/function () {
return Tooltip;
}();
-
-var $$7 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .tooltip to jQuery only if jQuery is present
+ * add .Tooltip to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
-if ($$7) {
- var JQUERY_NO_CONFLICT$6 = $$7.fn[NAME$6];
- $$7.fn[NAME$6] = Tooltip.jQueryInterface;
- $$7.fn[NAME$6].Constructor = Tooltip;
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- $$7.fn[NAME$6].noConflict = function () {
- $$7.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
- return Tooltip.jQueryInterface;
- };
-}
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$6];
+ $.fn[NAME$6] = Tooltip.jQueryInterface;
+ $.fn[NAME$6].Constructor = Tooltip;
+
+ $.fn[NAME$6].noConflict = function () {
+ $.fn[NAME$6] = JQUERY_NO_CONFLICT;
+ return Tooltip.jQueryInterface;
+ };
+ }
+});
/**
* ------------------------------------------------------------------------
@@ -4081,7 +4031,7 @@ if ($$7) {
*/
var NAME$7 = 'popover';
-var VERSION$7 = '5.0.0-alpha2';
+var VERSION$7 = '5.0.0-alpha3';
var DATA_KEY$7 = 'bs.popover';
var EVENT_KEY$7 = "." + DATA_KEY$7;
var CLASS_PREFIX$1 = 'bs-popover';
@@ -4241,26 +4191,29 @@ var Popover = /*#__PURE__*/function (_Tooltip) {
return Popover;
}(Tooltip);
-
-var $$8 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
+ * add .Popover to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
-if ($$8) {
- var JQUERY_NO_CONFLICT$7 = $$8.fn[NAME$7];
- $$8.fn[NAME$7] = Popover.jQueryInterface;
- $$8.fn[NAME$7].Constructor = Popover;
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- $$8.fn[NAME$7].noConflict = function () {
- $$8.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
- return Popover.jQueryInterface;
- };
-}
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$7];
+ $.fn[NAME$7] = Popover.jQueryInterface;
+ $.fn[NAME$7].Constructor = Popover;
+
+ $.fn[NAME$7].noConflict = function () {
+ $.fn[NAME$7] = JQUERY_NO_CONFLICT;
+ return Popover.jQueryInterface;
+ };
+ }
+});
/**
* ------------------------------------------------------------------------
@@ -4269,7 +4222,7 @@ if ($$8) {
*/
var NAME$8 = 'scrollspy';
-var VERSION$8 = '5.0.0-alpha2';
+var VERSION$8 = '5.0.0-alpha3';
var DATA_KEY$8 = 'bs.scrollspy';
var EVENT_KEY$8 = "." + DATA_KEY$8;
var DATA_API_KEY$6 = '.data-api';
@@ -4541,25 +4494,28 @@ EventHandler.on(window, EVENT_LOAD_DATA_API$1, function () {
return new ScrollSpy(spy, Manipulator.getDataAttributes(spy));
});
});
-var $$9 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
+ * add .ScrollSpy to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
-if ($$9) {
- var JQUERY_NO_CONFLICT$8 = $$9.fn[NAME$8];
- $$9.fn[NAME$8] = ScrollSpy.jQueryInterface;
- $$9.fn[NAME$8].Constructor = ScrollSpy;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$8];
+ $.fn[NAME$8] = ScrollSpy.jQueryInterface;
+ $.fn[NAME$8].Constructor = ScrollSpy;
- $$9.fn[NAME$8].noConflict = function () {
- $$9.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
- return ScrollSpy.jQueryInterface;
- };
-}
+ $.fn[NAME$8].noConflict = function () {
+ $.fn[NAME$8] = JQUERY_NO_CONFLICT;
+ return ScrollSpy.jQueryInterface;
+ };
+ }
+});
/**
* ------------------------------------------------------------------------
@@ -4568,7 +4524,7 @@ if ($$9) {
*/
var NAME$9 = 'tab';
-var VERSION$9 = '5.0.0-alpha2';
+var VERSION$9 = '5.0.0-alpha3';
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
@@ -4767,26 +4723,28 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, functi
var data = Data.getData(this, DATA_KEY$9) || new Tab(this);
data.show();
});
-var $$a = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .tab to jQuery only if jQuery is present
+ * add .Tab to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
-if ($$a) {
- var JQUERY_NO_CONFLICT$9 = $$a.fn[NAME$9];
- $$a.fn[NAME$9] = Tab.jQueryInterface;
- $$a.fn[NAME$9].Constructor = Tab;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$9];
+ $.fn[NAME$9] = Tab.jQueryInterface;
+ $.fn[NAME$9].Constructor = Tab;
- $$a.fn[NAME$9].noConflict = function () {
- $$a.fn[NAME$9] = JQUERY_NO_CONFLICT$9;
- return Tab.jQueryInterface;
- };
-}
+ $.fn[NAME$9].noConflict = function () {
+ $.fn[NAME$9] = JQUERY_NO_CONFLICT;
+ return Tab.jQueryInterface;
+ };
+ }
+});
/**
* ------------------------------------------------------------------------
@@ -4795,7 +4753,7 @@ if ($$a) {
*/
var NAME$a = 'toast';
-var VERSION$a = '5.0.0-alpha2';
+var VERSION$a = '5.0.0-alpha3';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$a;
@@ -4990,27 +4948,29 @@ var Toast = /*#__PURE__*/function () {
return Toast;
}();
-
-var $$b = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .toast to jQuery only if jQuery is present
+ * add .Toast to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
-if ($$b) {
- var JQUERY_NO_CONFLICT$a = $$b.fn[NAME$a];
- $$b.fn[NAME$a] = Toast.jQueryInterface;
- $$b.fn[NAME$a].Constructor = Toast;
+onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- $$b.fn[NAME$a].noConflict = function () {
- $$b.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
- return Toast.jQueryInterface;
- };
-}
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$a];
+ $.fn[NAME$a] = Toast.jQueryInterface;
+ $.fn[NAME$a].Constructor = Toast;
+
+ $.fn[NAME$a].noConflict = function () {
+ $.fn[NAME$a] = JQUERY_NO_CONFLICT;
+ return Toast.jQueryInterface;
+ };
+ }
+});
export { Alert, Button, Carousel, Collapse, Dropdown, Modal, Popover, ScrollSpy, Tab, Toast, Tooltip };
//# sourceMappingURL=bootstrap.esm.js.map
diff --git a/dist/js/bootstrap.esm.js.map b/dist/js/bootstrap.esm.js.map
index 3196944950..04a5c439d9 100644
--- a/dist/js/bootstrap.esm.js.map
+++ b/dist/js/bootstrap.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","add","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nexport {\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n }\n})\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n }\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\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 const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha3'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n }\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n }\n})\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n }\n})\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n }\n})\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n }\n})\n\nexport default Toast\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","querySelectorAll","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","$","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","defineProperty","preventDefault","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","matches","find","concat","Element","prototype","findOne","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","e","add","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","elementInterval","parseInt","defaultInterval","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMA,OAAO,GAAG,OAAhB;AACA,IAAMC,uBAAuB,GAAG,IAAhC;AACA,IAAMC,cAAc,GAAG,eAAvB;;AAGA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,GAAG,EAAI;AACpB,MAAIA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKC,SAA5B,EAAuC;AACrC,gBAAUD,GAAV;AACD;;AAED,SAAO,GAAGE,QAAH,CAAYC,IAAZ,CAAiBH,GAAjB,EAAsBI,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAP;AACD,CAND;AAQA;AACA;AACA;AACA;AACA;;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,MAAM,EAAI;AACvB,KAAG;AACDA,IAAAA,MAAM,IAAIC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgBd,OAA3B,CAAV;AACD,GAFD,QAESe,QAAQ,CAACC,cAAT,CAAwBL,MAAxB,CAFT;;AAIA,SAAOA,MAAP;AACD,CAND;;AAQA,IAAMM,WAAW,GAAG,SAAdA,WAAc,CAAAC,OAAO,EAAI;AAC7B,MAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,aAArB,CAAf;;AAEA,MAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;AACjC,QAAME,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAjB;AAEAD,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACC,IAAT,EAA/B,GAAiD,IAA5D;AACD;;AAED,SAAOH,QAAP;AACD,CAVD;;AAYA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAL,OAAO,EAAI;AACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;;AAEA,MAAIC,QAAJ,EAAc;AACZ,WAAOJ,QAAQ,CAACS,aAAT,CAAuBL,QAAvB,IAAmCA,QAAnC,GAA8C,IAArD;AACD;;AAED,SAAO,IAAP;AACD,CARD;;AAUA,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAP,OAAO,EAAI;AACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;AAEA,SAAOC,QAAQ,GAAGJ,QAAQ,CAACS,aAAT,CAAuBL,QAAvB,CAAH,GAAsC,IAArD;AACD,CAJD;;AAMA,IAAMO,gCAAgC,GAAG,SAAnCA,gCAAmC,CAAAR,OAAO,EAAI;AAClD,MAAI,CAACA,OAAL,EAAc;AACZ,WAAO,CAAP;AACD,GAHiD;;;AAAA,8BAS9CS,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,CAT8C;AAAA,MAOhDW,kBAPgD,yBAOhDA,kBAPgD;AAAA,MAQhDC,eARgD,yBAQhDA,eARgD;;AAWlD,MAAMC,uBAAuB,GAAGC,UAAU,CAACH,kBAAD,CAA1C;AACA,MAAMI,oBAAoB,GAAGD,UAAU,CAACF,eAAD,CAAvC,CAZkD;;AAelD,MAAI,CAACC,uBAAD,IAA4B,CAACE,oBAAjC,EAAuD;AACrD,WAAO,CAAP;AACD,GAjBiD;;;AAoBlDJ,EAAAA,kBAAkB,GAAGA,kBAAkB,CAACK,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAArB;AACAJ,EAAAA,eAAe,GAAGA,eAAe,CAACI,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAAlB;AAEA,SAAO,CAACF,UAAU,CAACH,kBAAD,CAAV,GAAiCG,UAAU,CAACF,eAAD,CAA5C,IAAiE7B,uBAAxE;AACD,CAxBD;;AA0BA,IAAMkC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAjB,OAAO,EAAI;AACtCA,EAAAA,OAAO,CAACkB,aAAR,CAAsB,IAAIC,KAAJ,CAAUnC,cAAV,CAAtB;AACD,CAFD;;AAIA,IAAMoC,SAAS,GAAG,SAAZA,SAAY,CAAAlC,GAAG;AAAA,SAAI,CAACA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAX,EAAgBmC,QAApB;AAAA,CAArB;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACtB,OAAD,EAAUuB,QAAV,EAAuB;AAClD,MAAIC,MAAM,GAAG,KAAb;AACA,MAAMC,eAAe,GAAG,CAAxB;AACA,MAAMC,gBAAgB,GAAGH,QAAQ,GAAGE,eAApC;;AACA,WAASE,QAAT,GAAoB;AAClBH,IAAAA,MAAM,GAAG,IAAT;AACAxB,IAAAA,OAAO,CAAC4B,mBAAR,CAA4B5C,cAA5B,EAA4C2C,QAA5C;AACD;;AAED3B,EAAAA,OAAO,CAAC6B,gBAAR,CAAyB7C,cAAzB,EAAyC2C,QAAzC;AACAG,EAAAA,UAAU,CAAC,YAAM;AACf,QAAI,CAACN,MAAL,EAAa;AACXP,MAAAA,oBAAoB,CAACjB,OAAD,CAApB;AACD;AACF,GAJS,EAIP0B,gBAJO,CAAV;AAKD,CAfD;;AAiBA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,aAAD,EAAgBC,MAAhB,EAAwBC,WAAxB,EAAwC;AAC9DC,EAAAA,MAAM,CAACC,IAAP,CAAYF,WAAZ,EAAyBG,OAAzB,CAAiC,UAAAC,QAAQ,EAAI;AAC3C,QAAMC,aAAa,GAAGL,WAAW,CAACI,QAAD,CAAjC;AACA,QAAME,KAAK,GAAGP,MAAM,CAACK,QAAD,CAApB;AACA,QAAMG,SAAS,GAAGD,KAAK,IAAIpB,SAAS,CAACoB,KAAD,CAAlB,GAChB,SADgB,GAEhBvD,MAAM,CAACuD,KAAD,CAFR;;AAIA,QAAI,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;AAC9C,YAAM,IAAIG,KAAJ,CACDZ,aAAa,CAACa,WAAd,EAAH,yBACWP,QADX,2BACuCG,SADvC,sCAEsBF,aAFtB,SADI,CAAN;AAID;AACF,GAbD;AAcD,CAfD;;AAiBA,IAAMO,SAAS,GAAG,SAAZA,SAAY,CAAA9C,OAAO,EAAI;AAC3B,MAAI,CAACA,OAAL,EAAc;AACZ,WAAO,KAAP;AACD;;AAED,MAAIA,OAAO,CAAC+C,KAAR,IAAiB/C,OAAO,CAACgD,UAAzB,IAAuChD,OAAO,CAACgD,UAAR,CAAmBD,KAA9D,EAAqE;AACnE,QAAME,YAAY,GAAGvC,gBAAgB,CAACV,OAAD,CAArC;AACA,QAAMkD,eAAe,GAAGxC,gBAAgB,CAACV,OAAO,CAACgD,UAAT,CAAxC;AAEA,WAAOC,YAAY,CAACE,OAAb,KAAyB,MAAzB,IACLD,eAAe,CAACC,OAAhB,KAA4B,MADvB,IAELF,YAAY,CAACG,UAAb,KAA4B,QAF9B;AAGD;;AAED,SAAO,KAAP;AACD,CAfD;;AAiBA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAArD,OAAO,EAAI;AAChC,MAAI,CAACH,QAAQ,CAACyD,eAAT,CAAyBC,YAA9B,EAA4C;AAC1C,WAAO,IAAP;AACD,GAH+B;;;AAMhC,MAAI,OAAOvD,OAAO,CAACwD,WAAf,KAA+B,UAAnC,EAA+C;AAC7C,QAAMC,IAAI,GAAGzD,OAAO,CAACwD,WAAR,EAAb;AACA,WAAOC,IAAI,YAAYC,UAAhB,GAA6BD,IAA7B,GAAoC,IAA3C;AACD;;AAED,MAAIzD,OAAO,YAAY0D,UAAvB,EAAmC;AACjC,WAAO1D,OAAP;AACD,GAb+B;;;AAgBhC,MAAI,CAACA,OAAO,CAACgD,UAAb,EAAyB;AACvB,WAAO,IAAP;AACD;;AAED,SAAOK,cAAc,CAACrD,OAAO,CAACgD,UAAT,CAArB;AACD,CArBD;;AAuBA,IAAMW,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAM,YAAY,EAAlB;AAAA,CAAb;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAA5D,OAAO;AAAA,SAAIA,OAAO,CAAC6D,YAAZ;AAAA,CAAtB;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AAAA,gBACHrD,MADG;AAAA,MACdsD,MADc,WACdA,MADc;;AAGtB,MAAIA,MAAM,IAAI,CAAClE,QAAQ,CAACmE,IAAT,CAAcC,YAAd,CAA2B,gBAA3B,CAAf,EAA6D;AAC3D,WAAOF,MAAP;AACD;;AAED,SAAO,IAAP;AACD,CARD;;AAUA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,QAAQ,EAAI;AACrC,MAAItE,QAAQ,CAACuE,UAAT,KAAwB,SAA5B,EAAuC;AACrCvE,IAAAA,QAAQ,CAACgC,gBAAT,CAA0B,kBAA1B,EAA8CsC,QAA9C;AACD,GAFD,MAEO;AACLA,IAAAA,QAAQ;AACT;AACF,CAND;;ACtLA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAME,OAAO,GAAI,YAAM;AACrB,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAIC,EAAE,GAAG,CAAT;AACA,SAAO;AACLC,IAAAA,GADK,eACDxE,OADC,EACQyE,GADR,EACaC,IADb,EACmB;AACtB,UAAI,OAAO1E,OAAO,CAAC2E,KAAf,KAAyB,WAA7B,EAA0C;AACxC3E,QAAAA,OAAO,CAAC2E,KAAR,GAAgB;AACdF,UAAAA,GAAG,EAAHA,GADc;AAEdF,UAAAA,EAAE,EAAFA;AAFc,SAAhB;AAIAA,QAAAA,EAAE;AACH;;AAEDD,MAAAA,SAAS,CAACtE,OAAO,CAAC2E,KAAR,CAAcJ,EAAf,CAAT,GAA8BG,IAA9B;AACD,KAXI;AAYLE,IAAAA,GAZK,eAYD5E,OAZC,EAYQyE,GAZR,EAYa;AAChB,UAAI,CAACzE,OAAD,IAAY,OAAOA,OAAO,CAAC2E,KAAf,KAAyB,WAAzC,EAAsD;AACpD,eAAO,IAAP;AACD;;AAED,UAAME,aAAa,GAAG7E,OAAO,CAAC2E,KAA9B;;AACA,UAAIE,aAAa,CAACJ,GAAd,KAAsBA,GAA1B,EAA+B;AAC7B,eAAOH,SAAS,CAACO,aAAa,CAACN,EAAf,CAAhB;AACD;;AAED,aAAO,IAAP;AACD,KAvBI;AAwBLO,IAAAA,MAxBK,mBAwBE9E,OAxBF,EAwBWyE,GAxBX,EAwBgB;AACnB,UAAI,OAAOzE,OAAO,CAAC2E,KAAf,KAAyB,WAA7B,EAA0C;AACxC;AACD;;AAED,UAAME,aAAa,GAAG7E,OAAO,CAAC2E,KAA9B;;AACA,UAAIE,aAAa,CAACJ,GAAd,KAAsBA,GAA1B,EAA+B;AAC7B,eAAOH,SAAS,CAACO,aAAa,CAACN,EAAf,CAAhB;AACA,eAAOvE,OAAO,CAAC2E,KAAf;AACD;AACF;AAlCI,GAAP;AAoCD,CAvCe,EAAhB;;AAyCA,IAAMI,IAAI,GAAG;AACXC,EAAAA,OADW,mBACHC,QADG,EACOR,GADP,EACYC,IADZ,EACkB;AAC3BL,IAAAA,OAAO,CAACG,GAAR,CAAYS,QAAZ,EAAsBR,GAAtB,EAA2BC,IAA3B;AACD,GAHU;AAIXQ,EAAAA,OAJW,mBAIHD,QAJG,EAIOR,GAJP,EAIY;AACrB,WAAOJ,OAAO,CAACO,GAAR,CAAYK,QAAZ,EAAsBR,GAAtB,CAAP;AACD,GANU;AAOXU,EAAAA,UAPW,sBAOAF,QAPA,EAOUR,GAPV,EAOe;AACxBJ,IAAAA,OAAO,CAACS,MAAR,CAAeG,QAAf,EAAyBR,GAAzB;AACD;AATU,CAAb;;ACtDA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;;AAEA,IAAMW,cAAc,GAAG,oBAAvB;AACA,IAAMC,cAAc,GAAG,MAAvB;AACA,IAAMC,aAAa,GAAG,QAAtB;AACA,IAAMC,aAAa,GAAG,EAAtB;;AACA,IAAIC,QAAQ,GAAG,CAAf;AACA,IAAMC,YAAY,GAAG;AACnBC,EAAAA,UAAU,EAAE,WADO;AAEnBC,EAAAA,UAAU,EAAE;AAFO,CAArB;AAIA,IAAMC,YAAY,GAAG,CACnB,OADmB,EAEnB,UAFmB,EAGnB,SAHmB,EAInB,WAJmB,EAKnB,aALmB,EAMnB,YANmB,EAOnB,gBAPmB,EAQnB,WARmB,EASnB,UATmB,EAUnB,WAVmB,EAWnB,aAXmB,EAYnB,WAZmB,EAanB,SAbmB,EAcnB,UAdmB,EAenB,OAfmB,EAgBnB,mBAhBmB,EAiBnB,YAjBmB,EAkBnB,WAlBmB,EAmBnB,UAnBmB,EAoBnB,aApBmB,EAqBnB,aArBmB,EAsBnB,aAtBmB,EAuBnB,WAvBmB,EAwBnB,cAxBmB,EAyBnB,eAzBmB,EA0BnB,cA1BmB,EA2BnB,eA3BmB,EA4BnB,YA5BmB,EA6BnB,OA7BmB,EA8BnB,MA9BmB,EA+BnB,QA/BmB,EAgCnB,OAhCmB,EAiCnB,QAjCmB,EAkCnB,QAlCmB,EAmCnB,SAnCmB,EAoCnB,UApCmB,EAqCnB,MArCmB,EAsCnB,QAtCmB,EAuCnB,cAvCmB,EAwCnB,QAxCmB,EAyCnB,MAzCmB,EA0CnB,kBA1CmB,EA2CnB,kBA3CmB,EA4CnB,OA5CmB,EA6CnB,OA7CmB,EA8CnB,QA9CmB,CAArB;AAiDA;AACA;AACA;AACA;AACA;;AAEA,SAASC,WAAT,CAAqB7F,OAArB,EAA8B8F,GAA9B,EAAmC;AACjC,SAAQA,GAAG,IAAOA,GAAP,UAAeN,QAAQ,EAA3B,IAAoCxF,OAAO,CAACwF,QAA5C,IAAwDA,QAAQ,EAAvE;AACD;;AAED,SAASO,QAAT,CAAkB/F,OAAlB,EAA2B;AACzB,MAAM8F,GAAG,GAAGD,WAAW,CAAC7F,OAAD,CAAvB;AAEAA,EAAAA,OAAO,CAACwF,QAAR,GAAmBM,GAAnB;AACAP,EAAAA,aAAa,CAACO,GAAD,CAAb,GAAqBP,aAAa,CAACO,GAAD,CAAb,IAAsB,EAA3C;AAEA,SAAOP,aAAa,CAACO,GAAD,CAApB;AACD;;AAED,SAASE,gBAAT,CAA0BhG,OAA1B,EAAmCiG,EAAnC,EAAuC;AACrC,SAAO,SAASC,OAAT,CAAiBC,KAAjB,EAAwB;AAC7BA,IAAAA,KAAK,CAACC,cAAN,GAAuBpG,OAAvB;;AAEA,QAAIkG,OAAO,CAACG,MAAZ,EAAoB;AAClBC,MAAAA,YAAY,CAACC,GAAb,CAAiBvG,OAAjB,EAA0BmG,KAAK,CAACK,IAAhC,EAAsCP,EAAtC;AACD;;AAED,WAAOA,EAAE,CAACQ,KAAH,CAASzG,OAAT,EAAkB,CAACmG,KAAD,CAAlB,CAAP;AACD,GARD;AASD;;AAED,SAASO,0BAAT,CAAoC1G,OAApC,EAA6CC,QAA7C,EAAuDgG,EAAvD,EAA2D;AACzD,SAAO,SAASC,OAAT,CAAiBC,KAAjB,EAAwB;AAC7B,QAAMQ,WAAW,GAAG3G,OAAO,CAAC4G,gBAAR,CAAyB3G,QAAzB,CAApB;;AAEA,aAAW4G,MAAX,GAAsBV,KAAtB,CAAWU,MAAX,EAA6BA,MAAM,IAAIA,MAAM,KAAK,IAAlD,EAAwDA,MAAM,GAAGA,MAAM,CAAC7D,UAAxE,EAAoF;AAClF,WAAK,IAAI8D,CAAC,GAAGH,WAAW,CAACI,MAAzB,EAAiCD,CAAC,EAAlC,GAAuC;AACrC,YAAIH,WAAW,CAACG,CAAD,CAAX,KAAmBD,MAAvB,EAA+B;AAC7BV,UAAAA,KAAK,CAACC,cAAN,GAAuBS,MAAvB;;AAEA,cAAIX,OAAO,CAACG,MAAZ,EAAoB;AAClBC,YAAAA,YAAY,CAACC,GAAb,CAAiBvG,OAAjB,EAA0BmG,KAAK,CAACK,IAAhC,EAAsCP,EAAtC;AACD;;AAED,iBAAOA,EAAE,CAACQ,KAAH,CAASI,MAAT,EAAiB,CAACV,KAAD,CAAjB,CAAP;AACD;AACF;AACF,KAf4B;;;AAkB7B,WAAO,IAAP;AACD,GAnBD;AAoBD;;AAED,SAASa,WAAT,CAAqBC,MAArB,EAA6Bf,OAA7B,EAAsCgB,kBAAtC,EAAiE;AAAA,MAA3BA,kBAA2B;AAA3BA,IAAAA,kBAA2B,GAAN,IAAM;AAAA;;AAC/D,MAAMC,YAAY,GAAGhF,MAAM,CAACC,IAAP,CAAY6E,MAAZ,CAArB;;AAEA,OAAK,IAAIH,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGD,YAAY,CAACJ,MAAnC,EAA2CD,CAAC,GAAGM,GAA/C,EAAoDN,CAAC,EAArD,EAAyD;AACvD,QAAMX,KAAK,GAAGc,MAAM,CAACE,YAAY,CAACL,CAAD,CAAb,CAApB;;AAEA,QAAIX,KAAK,CAACkB,eAAN,KAA0BnB,OAA1B,IAAqCC,KAAK,CAACe,kBAAN,KAA6BA,kBAAtE,EAA0F;AACxF,aAAOf,KAAP;AACD;AACF;;AAED,SAAO,IAAP;AACD;;AAED,SAASmB,eAAT,CAAyBC,iBAAzB,EAA4CrB,OAA5C,EAAqDsB,YAArD,EAAmE;AACjE,MAAMC,UAAU,GAAG,OAAOvB,OAAP,KAAmB,QAAtC;AACA,MAAMmB,eAAe,GAAGI,UAAU,GAAGD,YAAH,GAAkBtB,OAApD,CAFiE;;AAKjE,MAAIwB,SAAS,GAAGH,iBAAiB,CAACI,OAAlB,CAA0BtC,cAA1B,EAA0C,EAA1C,CAAhB;AACA,MAAMuC,MAAM,GAAGnC,YAAY,CAACiC,SAAD,CAA3B;;AAEA,MAAIE,MAAJ,EAAY;AACVF,IAAAA,SAAS,GAAGE,MAAZ;AACD;;AAED,MAAMC,QAAQ,GAAGjC,YAAY,CAACkC,OAAb,CAAqBJ,SAArB,IAAkC,CAAC,CAApD;;AAEA,MAAI,CAACG,QAAL,EAAe;AACbH,IAAAA,SAAS,GAAGH,iBAAZ;AACD;;AAED,SAAO,CAACE,UAAD,EAAaJ,eAAb,EAA8BK,SAA9B,CAAP;AACD;;AAED,SAASK,UAAT,CAAoB/H,OAApB,EAA6BuH,iBAA7B,EAAgDrB,OAAhD,EAAyDsB,YAAzD,EAAuEnB,MAAvE,EAA+E;AAC7E,MAAI,OAAOkB,iBAAP,KAA6B,QAA7B,IAAyC,CAACvH,OAA9C,EAAuD;AACrD;AACD;;AAED,MAAI,CAACkG,OAAL,EAAc;AACZA,IAAAA,OAAO,GAAGsB,YAAV;AACAA,IAAAA,YAAY,GAAG,IAAf;AACD;;AAR4E,yBAU5BF,eAAe,CAACC,iBAAD,EAAoBrB,OAApB,EAA6BsB,YAA7B,CAVa;AAAA,MAUtEC,UAVsE;AAAA,MAU1DJ,eAV0D;AAAA,MAUzCK,SAVyC;;AAW7E,MAAMT,MAAM,GAAGlB,QAAQ,CAAC/F,OAAD,CAAvB;AACA,MAAMgI,QAAQ,GAAGf,MAAM,CAACS,SAAD,CAAN,KAAsBT,MAAM,CAACS,SAAD,CAAN,GAAoB,EAA1C,CAAjB;AACA,MAAMO,UAAU,GAAGjB,WAAW,CAACgB,QAAD,EAAWX,eAAX,EAA4BI,UAAU,GAAGvB,OAAH,GAAa,IAAnD,CAA9B;;AAEA,MAAI+B,UAAJ,EAAgB;AACdA,IAAAA,UAAU,CAAC5B,MAAX,GAAoB4B,UAAU,CAAC5B,MAAX,IAAqBA,MAAzC;AAEA;AACD;;AAED,MAAMP,GAAG,GAAGD,WAAW,CAACwB,eAAD,EAAkBE,iBAAiB,CAACI,OAAlB,CAA0BvC,cAA1B,EAA0C,EAA1C,CAAlB,CAAvB;AACA,MAAMa,EAAE,GAAGwB,UAAU,GACnBf,0BAA0B,CAAC1G,OAAD,EAAUkG,OAAV,EAAmBsB,YAAnB,CADP,GAEnBxB,gBAAgB,CAAChG,OAAD,EAAUkG,OAAV,CAFlB;AAIAD,EAAAA,EAAE,CAACiB,kBAAH,GAAwBO,UAAU,GAAGvB,OAAH,GAAa,IAA/C;AACAD,EAAAA,EAAE,CAACoB,eAAH,GAAqBA,eAArB;AACApB,EAAAA,EAAE,CAACI,MAAH,GAAYA,MAAZ;AACAJ,EAAAA,EAAE,CAACT,QAAH,GAAcM,GAAd;AACAkC,EAAAA,QAAQ,CAAClC,GAAD,CAAR,GAAgBG,EAAhB;AAEAjG,EAAAA,OAAO,CAAC6B,gBAAR,CAAyB6F,SAAzB,EAAoCzB,EAApC,EAAwCwB,UAAxC;AACD;;AAED,SAASS,aAAT,CAAuBlI,OAAvB,EAAgCiH,MAAhC,EAAwCS,SAAxC,EAAmDxB,OAAnD,EAA4DgB,kBAA5D,EAAgF;AAC9E,MAAMjB,EAAE,GAAGe,WAAW,CAACC,MAAM,CAACS,SAAD,CAAP,EAAoBxB,OAApB,EAA6BgB,kBAA7B,CAAtB;;AAEA,MAAI,CAACjB,EAAL,EAAS;AACP;AACD;;AAEDjG,EAAAA,OAAO,CAAC4B,mBAAR,CAA4B8F,SAA5B,EAAuCzB,EAAvC,EAA2CkC,OAAO,CAACjB,kBAAD,CAAlD;AACA,SAAOD,MAAM,CAACS,SAAD,CAAN,CAAkBzB,EAAE,CAACT,QAArB,CAAP;AACD;;AAED,SAAS4C,wBAAT,CAAkCpI,OAAlC,EAA2CiH,MAA3C,EAAmDS,SAAnD,EAA8DW,SAA9D,EAAyE;AACvE,MAAMC,iBAAiB,GAAGrB,MAAM,CAACS,SAAD,CAAN,IAAqB,EAA/C;AAEAvF,EAAAA,MAAM,CAACC,IAAP,CAAYkG,iBAAZ,EAA+BjG,OAA/B,CAAuC,UAAAkG,UAAU,EAAI;AACnD,QAAIA,UAAU,CAACT,OAAX,CAAmBO,SAAnB,IAAgC,CAAC,CAArC,EAAwC;AACtC,UAAMlC,KAAK,GAAGmC,iBAAiB,CAACC,UAAD,CAA/B;AAEAL,MAAAA,aAAa,CAAClI,OAAD,EAAUiH,MAAV,EAAkBS,SAAlB,EAA6BvB,KAAK,CAACkB,eAAnC,EAAoDlB,KAAK,CAACe,kBAA1D,CAAb;AACD;AACF,GAND;AAOD;;AAED,IAAMZ,YAAY,GAAG;AACnBkC,EAAAA,EADmB,cAChBxI,OADgB,EACPmG,KADO,EACAD,OADA,EACSsB,YADT,EACuB;AACxCO,IAAAA,UAAU,CAAC/H,OAAD,EAAUmG,KAAV,EAAiBD,OAAjB,EAA0BsB,YAA1B,EAAwC,KAAxC,CAAV;AACD,GAHkB;AAKnBiB,EAAAA,GALmB,eAKfzI,OALe,EAKNmG,KALM,EAKCD,OALD,EAKUsB,YALV,EAKwB;AACzCO,IAAAA,UAAU,CAAC/H,OAAD,EAAUmG,KAAV,EAAiBD,OAAjB,EAA0BsB,YAA1B,EAAwC,IAAxC,CAAV;AACD,GAPkB;AASnBjB,EAAAA,GATmB,eASfvG,OATe,EASNuH,iBATM,EASarB,OATb,EASsBsB,YATtB,EASoC;AACrD,QAAI,OAAOD,iBAAP,KAA6B,QAA7B,IAAyC,CAACvH,OAA9C,EAAuD;AACrD;AACD;;AAHoD,4BAKJsH,eAAe,CAACC,iBAAD,EAAoBrB,OAApB,EAA6BsB,YAA7B,CALX;AAAA,QAK9CC,UAL8C;AAAA,QAKlCJ,eALkC;AAAA,QAKjBK,SALiB;;AAMrD,QAAMgB,WAAW,GAAGhB,SAAS,KAAKH,iBAAlC;AACA,QAAMN,MAAM,GAAGlB,QAAQ,CAAC/F,OAAD,CAAvB;AACA,QAAM2I,WAAW,GAAGpB,iBAAiB,CAACqB,MAAlB,CAAyB,CAAzB,MAAgC,GAApD;;AAEA,QAAI,OAAOvB,eAAP,KAA2B,WAA/B,EAA4C;AAC1C;AACA,UAAI,CAACJ,MAAD,IAAW,CAACA,MAAM,CAACS,SAAD,CAAtB,EAAmC;AACjC;AACD;;AAEDQ,MAAAA,aAAa,CAAClI,OAAD,EAAUiH,MAAV,EAAkBS,SAAlB,EAA6BL,eAA7B,EAA8CI,UAAU,GAAGvB,OAAH,GAAa,IAArE,CAAb;AACA;AACD;;AAED,QAAIyC,WAAJ,EAAiB;AACfxG,MAAAA,MAAM,CAACC,IAAP,CAAY6E,MAAZ,EAAoB5E,OAApB,CAA4B,UAAAwG,YAAY,EAAI;AAC1CT,QAAAA,wBAAwB,CAACpI,OAAD,EAAUiH,MAAV,EAAkB4B,YAAlB,EAAgCtB,iBAAiB,CAACuB,KAAlB,CAAwB,CAAxB,CAAhC,CAAxB;AACD,OAFD;AAGD;;AAED,QAAMR,iBAAiB,GAAGrB,MAAM,CAACS,SAAD,CAAN,IAAqB,EAA/C;AACAvF,IAAAA,MAAM,CAACC,IAAP,CAAYkG,iBAAZ,EAA+BjG,OAA/B,CAAuC,UAAA0G,WAAW,EAAI;AACpD,UAAMR,UAAU,GAAGQ,WAAW,CAACpB,OAAZ,CAAoBrC,aAApB,EAAmC,EAAnC,CAAnB;;AAEA,UAAI,CAACoD,WAAD,IAAgBnB,iBAAiB,CAACO,OAAlB,CAA0BS,UAA1B,IAAwC,CAAC,CAA7D,EAAgE;AAC9D,YAAMpC,KAAK,GAAGmC,iBAAiB,CAACS,WAAD,CAA/B;AAEAb,QAAAA,aAAa,CAAClI,OAAD,EAAUiH,MAAV,EAAkBS,SAAlB,EAA6BvB,KAAK,CAACkB,eAAnC,EAAoDlB,KAAK,CAACe,kBAA1D,CAAb;AACD;AACF,KARD;AASD,GA7CkB;AA+CnB8B,EAAAA,OA/CmB,mBA+CXhJ,OA/CW,EA+CFmG,KA/CE,EA+CK8C,IA/CL,EA+CW;AAC5B,QAAI,OAAO9C,KAAP,KAAiB,QAAjB,IAA6B,CAACnG,OAAlC,EAA2C;AACzC,aAAO,IAAP;AACD;;AAED,QAAMkJ,CAAC,GAAGpF,SAAS,EAAnB;AACA,QAAM4D,SAAS,GAAGvB,KAAK,CAACwB,OAAN,CAActC,cAAd,EAA8B,EAA9B,CAAlB;AACA,QAAMqD,WAAW,GAAGvC,KAAK,KAAKuB,SAA9B;AACA,QAAMG,QAAQ,GAAGjC,YAAY,CAACkC,OAAb,CAAqBJ,SAArB,IAAkC,CAAC,CAApD;AAEA,QAAIyB,WAAJ;AACA,QAAIC,OAAO,GAAG,IAAd;AACA,QAAIC,cAAc,GAAG,IAArB;AACA,QAAIC,gBAAgB,GAAG,KAAvB;AACA,QAAIC,GAAG,GAAG,IAAV;;AAEA,QAAIb,WAAW,IAAIQ,CAAnB,EAAsB;AACpBC,MAAAA,WAAW,GAAGD,CAAC,CAAC/H,KAAF,CAAQgF,KAAR,EAAe8C,IAAf,CAAd;AAEAC,MAAAA,CAAC,CAAClJ,OAAD,CAAD,CAAWgJ,OAAX,CAAmBG,WAAnB;AACAC,MAAAA,OAAO,GAAG,CAACD,WAAW,CAACK,oBAAZ,EAAX;AACAH,MAAAA,cAAc,GAAG,CAACF,WAAW,CAACM,6BAAZ,EAAlB;AACAH,MAAAA,gBAAgB,GAAGH,WAAW,CAACO,kBAAZ,EAAnB;AACD;;AAED,QAAI7B,QAAJ,EAAc;AACZ0B,MAAAA,GAAG,GAAG1J,QAAQ,CAAC8J,WAAT,CAAqB,YAArB,CAAN;AACAJ,MAAAA,GAAG,CAACK,SAAJ,CAAclC,SAAd,EAAyB0B,OAAzB,EAAkC,IAAlC;AACD,KAHD,MAGO;AACLG,MAAAA,GAAG,GAAG,IAAIM,WAAJ,CAAgB1D,KAAhB,EAAuB;AAC3BiD,QAAAA,OAAO,EAAPA,OAD2B;AAE3BU,QAAAA,UAAU,EAAE;AAFe,OAAvB,CAAN;AAID,KAjC2B;;;AAoC5B,QAAI,OAAOb,IAAP,KAAgB,WAApB,EAAiC;AAC/B9G,MAAAA,MAAM,CAACC,IAAP,CAAY6G,IAAZ,EAAkB5G,OAAlB,CAA0B,UAAAoC,GAAG,EAAI;AAC/BtC,QAAAA,MAAM,CAAC4H,cAAP,CAAsBR,GAAtB,EAA2B9E,GAA3B,EAAgC;AAC9BG,UAAAA,GAD8B,iBACxB;AACJ,mBAAOqE,IAAI,CAACxE,GAAD,CAAX;AACD;AAH6B,SAAhC;AAKD,OAND;AAOD;;AAED,QAAI6E,gBAAJ,EAAsB;AACpBC,MAAAA,GAAG,CAACS,cAAJ;AACD;;AAED,QAAIX,cAAJ,EAAoB;AAClBrJ,MAAAA,OAAO,CAACkB,aAAR,CAAsBqI,GAAtB;AACD;;AAED,QAAIA,GAAG,CAACD,gBAAJ,IAAwB,OAAOH,WAAP,KAAuB,WAAnD,EAAgE;AAC9DA,MAAAA,WAAW,CAACa,cAAZ;AACD;;AAED,WAAOT,GAAP;AACD;AA1GkB,CAArB;;AC1MA;AACA;AACA;AACA;AACA;;AAEA,IAAMU,IAAI,GAAG,OAAb;AACA,IAAMC,OAAO,GAAG,cAAhB;AACA,IAAMC,QAAQ,GAAG,UAAjB;AACA,IAAMC,SAAS,SAAOD,QAAtB;AACA,IAAME,YAAY,GAAG,WAArB;AAEA,IAAMC,gBAAgB,GAAG,wBAAzB;AAEA,IAAMC,WAAW,aAAWH,SAA5B;AACA,IAAMI,YAAY,cAAYJ,SAA9B;AACA,IAAMK,oBAAoB,aAAWL,SAAX,GAAuBC,YAAjD;AAEA,IAAMK,eAAe,GAAG,OAAxB;AACA,IAAMC,cAAc,GAAG,MAAvB;AACA,IAAMC,cAAc,GAAG,MAAvB;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,iBAAY7K,OAAZ,EAAqB;AACnB,SAAK8K,QAAL,GAAgB9K,OAAhB;;AAEA,QAAI,KAAK8K,QAAT,EAAmB;AACjB/F,MAAAA,IAAI,CAACC,OAAL,CAAahF,OAAb,EAAsBmK,QAAtB,EAAgC,IAAhC;AACD;AACF;;;;;AAQD;SAEAY,QAAA,eAAM/K,OAAN,EAAe;AACb,QAAMgL,WAAW,GAAGhL,OAAO,GAAG,KAAKiL,eAAL,CAAqBjL,OAArB,CAAH,GAAmC,KAAK8K,QAAnE;;AACA,QAAMI,WAAW,GAAG,KAAKC,kBAAL,CAAwBH,WAAxB,CAApB;;AAEA,QAAIE,WAAW,KAAK,IAAhB,IAAwBA,WAAW,CAAC5B,gBAAxC,EAA0D;AACxD;AACD;;AAED,SAAK8B,cAAL,CAAoBJ,WAApB;AACD;;SAEDK,UAAA,mBAAU;AACRtG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK2F,QAArB,EAA+BX,QAA/B;AACA,SAAKW,QAAL,GAAgB,IAAhB;AACD;;;SAIDG,kBAAA,yBAAgBjL,OAAhB,EAAyB;AACvB,WAAOO,sBAAsB,CAACP,OAAD,CAAtB,IAAmCA,OAAO,CAACsL,OAAR,OAAoBZ,eAApB,CAA1C;AACD;;SAEDS,qBAAA,4BAAmBnL,OAAnB,EAA4B;AAC1B,WAAOsG,YAAY,CAAC0C,OAAb,CAAqBhJ,OAArB,EAA8BuK,WAA9B,CAAP;AACD;;SAEDa,iBAAA,wBAAepL,OAAf,EAAwB;AAAA;;AACtBA,IAAAA,OAAO,CAACuL,SAAR,CAAkBC,MAAlB,CAAyBZ,cAAzB;;AAEA,QAAI,CAAC5K,OAAO,CAACuL,SAAR,CAAkBE,QAAlB,CAA2Bd,cAA3B,CAAL,EAAiD;AAC/C,WAAKe,eAAL,CAAqB1L,OAArB;;AACA;AACD;;AAED,QAAMW,kBAAkB,GAAGH,gCAAgC,CAACR,OAAD,CAA3D;AAEAsG,IAAAA,YAAY,CAACmC,GAAb,CAAiBzI,OAAjB,EAA0BhB,cAA1B,EAA0C;AAAA,aAAM,KAAI,CAAC0M,eAAL,CAAqB1L,OAArB,CAAN;AAAA,KAA1C;AACAsB,IAAAA,oBAAoB,CAACtB,OAAD,EAAUW,kBAAV,CAApB;AACD;;SAED+K,kBAAA,yBAAgB1L,OAAhB,EAAyB;AACvB,QAAIA,OAAO,CAACgD,UAAZ,EAAwB;AACtBhD,MAAAA,OAAO,CAACgD,UAAR,CAAmB2I,WAAnB,CAA+B3L,OAA/B;AACD;;AAEDsG,IAAAA,YAAY,CAAC0C,OAAb,CAAqBhJ,OAArB,EAA8BwK,YAA9B;AACD;;;QAIMoB,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3B,UAAInH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBiF,QAAnB,CAAX;;AAEA,UAAI,CAACzF,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAImG,KAAJ,CAAU,IAAV,CAAP;AACD;;AAED,UAAI5I,MAAM,KAAK,OAAf,EAAwB;AACtByC,QAAAA,IAAI,CAACzC,MAAD,CAAJ,CAAa,IAAb;AACD;AACF,KAVM,CAAP;AAWD;;QAEM6J,gBAAP,uBAAqBC,aAArB,EAAoC;AAClC,WAAO,UAAU5F,KAAV,EAAiB;AACtB,UAAIA,KAAJ,EAAW;AACTA,QAAAA,KAAK,CAAC6D,cAAN;AACD;;AAED+B,MAAAA,aAAa,CAAChB,KAAd,CAAoB,IAApB;AACD,KAND;AAOD;;QAEMiB,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,QAAtB,CAAP;AACD;;;;wBAlFoB;AACnB,aAAOD,OAAP;AACD;;;;;AAmFH;AACA;AACA;AACA;AACA;;;AACA5D,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B4K,oBAA1B,EAAgDH,gBAAhD,EAAkEO,KAAK,CAACiB,aAAN,CAAoB,IAAIjB,KAAJ,EAApB,CAAlE;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA3G,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,IAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,IAAL,IAAaY,KAAK,CAACe,eAAnB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,IAAL,EAAWiC,WAAX,GAAyBrB,KAAzB;;AACA3B,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,IAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,IAAL,IAAagC,kBAAb;AACA,aAAOpB,KAAK,CAACe,eAAb;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACjJA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,QAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,WAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAM+B,iBAAiB,GAAG,QAA1B;AAEA,IAAMC,oBAAoB,GAAG,wBAA7B;AAEA,IAAM5B,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA;AACA;AACA;AACA;AACA;;IAEMiC;AACJ,kBAAYtM,OAAZ,EAAqB;AACnB,SAAK8K,QAAL,GAAgB9K,OAAhB;AACA+E,IAAAA,IAAI,CAACC,OAAL,CAAahF,OAAb,EAAsBmK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAQD;SAEAoC,SAAA,kBAAS;AACP;AACA,SAAKzB,QAAL,CAAc0B,YAAd,CAA2B,cAA3B,EAA2C,KAAK1B,QAAL,CAAcS,SAAd,CAAwBgB,MAAxB,CAA+BH,iBAA/B,CAA3C;AACD;;SAEDf,UAAA,mBAAU;AACRtG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK2F,QAArB,EAA+BX,UAA/B;AACA,SAAKW,QAAL,GAAgB,IAAhB;AACD;;;SAIMc,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3B,UAAInH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBiF,UAAnB,CAAX;;AAEA,UAAI,CAACzF,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAI4H,MAAJ,CAAW,IAAX,CAAP;AACD;;AAED,UAAIrK,MAAM,KAAK,QAAf,EAAyB;AACvByC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KAVM,CAAP;AAWD;;SAEM+J,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;wBAlCoB;AACnB,aAAOD,SAAP;AACD;;;;;AAmCH;AACA;AACA;AACA;AACA;;;AAEA5D,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B4K,sBAA1B,EAAgD4B,oBAAhD,EAAsE,UAAAlG,KAAK,EAAI;AAC7EA,EAAAA,KAAK,CAAC6D,cAAN;AAEA,MAAMyC,MAAM,GAAGtG,KAAK,CAACU,MAAN,CAAayE,OAAb,CAAqBe,oBAArB,CAAf;AAEA,MAAI3H,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAauH,MAAb,EAAqBtC,UAArB,CAAX;;AACA,MAAI,CAACzF,IAAL,EAAW;AACTA,IAAAA,IAAI,GAAG,IAAI4H,MAAJ,CAAWG,MAAX,CAAP;AACD;;AAED/H,EAAAA,IAAI,CAAC6H,MAAL;AACD,CAXD;AAaA;AACA;AACA;AACA;AACA;AACA;;AAEArI,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAaqC,MAAM,CAACV,eAApB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyBI,MAAzB;;AAEApD,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAOK,MAAM,CAACV,eAAd;AACD,KAHD;AAID;AACF,CAbiB,CAAlB;;AC1GA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASc,aAAT,CAAuBC,GAAvB,EAA4B;AAC1B,MAAIA,GAAG,KAAK,MAAZ,EAAoB;AAClB,WAAO,IAAP;AACD;;AAED,MAAIA,GAAG,KAAK,OAAZ,EAAqB;AACnB,WAAO,KAAP;AACD;;AAED,MAAIA,GAAG,KAAKC,MAAM,CAACD,GAAD,CAAN,CAAYvN,QAAZ,EAAZ,EAAoC;AAClC,WAAOwN,MAAM,CAACD,GAAD,CAAb;AACD;;AAED,MAAIA,GAAG,KAAK,EAAR,IAAcA,GAAG,KAAK,MAA1B,EAAkC;AAChC,WAAO,IAAP;AACD;;AAED,SAAOA,GAAP;AACD;;AAED,SAASE,gBAAT,CAA0BpI,GAA1B,EAA+B;AAC7B,SAAOA,GAAG,CAACkD,OAAJ,CAAY,QAAZ,EAAsB,UAAAmF,GAAG;AAAA,iBAAQA,GAAG,CAACvN,WAAJ,EAAR;AAAA,GAAzB,CAAP;AACD;;AAED,IAAMwN,WAAW,GAAG;AAClBC,EAAAA,gBADkB,4BACDhN,OADC,EACQyE,GADR,EACajC,KADb,EACoB;AACpCxC,IAAAA,OAAO,CAACwM,YAAR,WAA6BK,gBAAgB,CAACpI,GAAD,CAA7C,EAAsDjC,KAAtD;AACD,GAHiB;AAKlByK,EAAAA,mBALkB,+BAKEjN,OALF,EAKWyE,GALX,EAKgB;AAChCzE,IAAAA,OAAO,CAACkN,eAAR,WAAgCL,gBAAgB,CAACpI,GAAD,CAAhD;AACD,GAPiB;AASlB0I,EAAAA,iBATkB,6BASAnN,OATA,EASS;AACzB,QAAI,CAACA,OAAL,EAAc;AACZ,aAAO,EAAP;AACD;;AAED,QAAMoN,UAAU,gBACXpN,OAAO,CAACqN,OADG,CAAhB;;AAIAlL,IAAAA,MAAM,CAACC,IAAP,CAAYgL,UAAZ,EAAwB/K,OAAxB,CAAgC,UAAAoC,GAAG,EAAI;AACrC2I,MAAAA,UAAU,CAAC3I,GAAD,CAAV,GAAkBiI,aAAa,CAACU,UAAU,CAAC3I,GAAD,CAAX,CAA/B;AACD,KAFD;AAIA,WAAO2I,UAAP;AACD,GAvBiB;AAyBlBE,EAAAA,gBAzBkB,4BAyBDtN,OAzBC,EAyBQyE,GAzBR,EAyBa;AAC7B,WAAOiI,aAAa,CAAC1M,OAAO,CAACE,YAAR,WAA6B2M,gBAAgB,CAACpI,GAAD,CAA7C,CAAD,CAApB;AACD,GA3BiB;AA6BlB8I,EAAAA,MA7BkB,kBA6BXvN,OA7BW,EA6BF;AACd,QAAMwN,IAAI,GAAGxN,OAAO,CAACyN,qBAAR,EAAb;AAEA,WAAO;AACLC,MAAAA,GAAG,EAAEF,IAAI,CAACE,GAAL,GAAW7N,QAAQ,CAACmE,IAAT,CAAc2J,SADzB;AAELC,MAAAA,IAAI,EAAEJ,IAAI,CAACI,IAAL,GAAY/N,QAAQ,CAACmE,IAAT,CAAc6J;AAF3B,KAAP;AAID,GApCiB;AAsClBC,EAAAA,QAtCkB,oBAsCT9N,OAtCS,EAsCA;AAChB,WAAO;AACL0N,MAAAA,GAAG,EAAE1N,OAAO,CAAC+N,SADR;AAELH,MAAAA,IAAI,EAAE5N,OAAO,CAACgO;AAFT,KAAP;AAID;AA3CiB,CAApB;;AC/BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAMC,SAAS,GAAG,CAAlB;AAEA,IAAMC,cAAc,GAAG;AACrBC,EAAAA,OADqB,mBACbnO,OADa,EACJC,QADI,EACM;AACzB,WAAOD,OAAO,CAACmO,OAAR,CAAgBlO,QAAhB,CAAP;AACD,GAHoB;AAKrBmO,EAAAA,IALqB,gBAKhBnO,QALgB,EAKND,OALM,EAK8B;AAAA;;AAAA,QAApCA,OAAoC;AAApCA,MAAAA,OAAoC,GAA1BH,QAAQ,CAACyD,eAAiB;AAAA;;AACjD,WAAO,YAAG+K,MAAH,aAAaC,OAAO,CAACC,SAAR,CAAkB3H,gBAAlB,CAAmCvH,IAAnC,CAAwCW,OAAxC,EAAiDC,QAAjD,CAAb,CAAP;AACD,GAPoB;AASrBuO,EAAAA,OATqB,mBASbvO,QATa,EASHD,OATG,EASiC;AAAA,QAApCA,OAAoC;AAApCA,MAAAA,OAAoC,GAA1BH,QAAQ,CAACyD,eAAiB;AAAA;;AACpD,WAAOgL,OAAO,CAACC,SAAR,CAAkBjO,aAAlB,CAAgCjB,IAAhC,CAAqCW,OAArC,EAA8CC,QAA9C,CAAP;AACD,GAXoB;AAarBwO,EAAAA,QAbqB,oBAaZzO,OAbY,EAaHC,QAbG,EAaO;AAAA;;AAC1B,QAAMwO,QAAQ,GAAG,aAAGJ,MAAH,cAAarO,OAAO,CAACyO,QAArB,CAAjB;;AAEA,WAAOA,QAAQ,CAACC,MAAT,CAAgB,UAAAC,KAAK;AAAA,aAAIA,KAAK,CAACR,OAAN,CAAclO,QAAd,CAAJ;AAAA,KAArB,CAAP;AACD,GAjBoB;AAmBrB2O,EAAAA,OAnBqB,mBAmBb5O,OAnBa,EAmBJC,QAnBI,EAmBM;AACzB,QAAM2O,OAAO,GAAG,EAAhB;AAEA,QAAIC,QAAQ,GAAG7O,OAAO,CAACgD,UAAvB;;AAEA,WAAO6L,QAAQ,IAAIA,QAAQ,CAACxN,QAAT,KAAsByN,IAAI,CAACC,YAAvC,IAAuDF,QAAQ,CAACxN,QAAT,KAAsB4M,SAApF,EAA+F;AAC7F,UAAI,KAAKE,OAAL,CAAaU,QAAb,EAAuB5O,QAAvB,CAAJ,EAAsC;AACpC2O,QAAAA,OAAO,CAACI,IAAR,CAAaH,QAAb;AACD;;AAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAAC7L,UAApB;AACD;;AAED,WAAO4L,OAAP;AACD,GAjCoB;AAmCrBK,EAAAA,IAnCqB,gBAmChBjP,OAnCgB,EAmCPC,QAnCO,EAmCG;AACtB,QAAIiP,QAAQ,GAAGlP,OAAO,CAACmP,sBAAvB;;AAEA,WAAOD,QAAP,EAAiB;AACf,UAAIA,QAAQ,CAACf,OAAT,CAAiBlO,QAAjB,CAAJ,EAAgC;AAC9B,eAAO,CAACiP,QAAD,CAAP;AACD;;AAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,sBAApB;AACD;;AAED,WAAO,EAAP;AACD,GA/CoB;AAiDrBC,EAAAA,IAjDqB,gBAiDhBpP,OAjDgB,EAiDPC,QAjDO,EAiDG;AACtB,QAAImP,IAAI,GAAGpP,OAAO,CAACqP,kBAAnB;;AAEA,WAAOD,IAAP,EAAa;AACX,UAAI,KAAKjB,OAAL,CAAaiB,IAAb,EAAmBnP,QAAnB,CAAJ,EAAkC;AAChC,eAAO,CAACmP,IAAD,CAAP;AACD;;AAEDA,MAAAA,IAAI,GAAGA,IAAI,CAACC,kBAAZ;AACD;;AAED,WAAO,EAAP;AACD;AA7DoB,CAAvB;;ACSA;AACA;AACA;AACA;AACA;;AAEA,IAAMpF,MAAI,GAAG,UAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,aAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMiF,cAAc,GAAG,WAAvB;AACA,IAAMC,eAAe,GAAG,YAAxB;AACA,IAAMC,sBAAsB,GAAG,GAA/B;;AACA,IAAMC,eAAe,GAAG,EAAxB;AAEA,IAAMC,OAAO,GAAG;AACdC,EAAAA,QAAQ,EAAE,IADI;AAEdC,EAAAA,QAAQ,EAAE,IAFI;AAGdC,EAAAA,KAAK,EAAE,KAHO;AAIdC,EAAAA,KAAK,EAAE,OAJO;AAKdC,EAAAA,IAAI,EAAE,IALQ;AAMdC,EAAAA,KAAK,EAAE;AANO,CAAhB;AASA,IAAMC,WAAW,GAAG;AAClBN,EAAAA,QAAQ,EAAE,kBADQ;AAElBC,EAAAA,QAAQ,EAAE,SAFQ;AAGlBC,EAAAA,KAAK,EAAE,kBAHW;AAIlBC,EAAAA,KAAK,EAAE,kBAJW;AAKlBC,EAAAA,IAAI,EAAE,SALY;AAMlBC,EAAAA,KAAK,EAAE;AANW,CAApB;AASA,IAAME,cAAc,GAAG,MAAvB;AACA,IAAMC,cAAc,GAAG,MAAvB;AACA,IAAMC,cAAc,GAAG,MAAvB;AACA,IAAMC,eAAe,GAAG,OAAxB;AAEA,IAAMC,WAAW,aAAWlG,WAA5B;AACA,IAAMmG,UAAU,YAAUnG,WAA1B;AACA,IAAMoG,aAAa,eAAapG,WAAhC;AACA,IAAMqG,gBAAgB,kBAAgBrG,WAAtC;AACA,IAAMsG,gBAAgB,kBAAgBtG,WAAtC;AACA,IAAMuG,gBAAgB,kBAAgBvG,WAAtC;AACA,IAAMwG,eAAe,iBAAexG,WAApC;AACA,IAAMyG,cAAc,gBAAczG,WAAlC;AACA,IAAM0G,iBAAiB,mBAAiB1G,WAAxC;AACA,IAAM2G,eAAe,iBAAe3G,WAApC;AACA,IAAM4G,gBAAgB,iBAAe5G,WAArC;AACA,IAAM6G,mBAAmB,YAAU7G,WAAV,GAAsBC,cAA/C;AACA,IAAMI,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA,IAAM6G,mBAAmB,GAAG,UAA5B;AACA,IAAM9E,mBAAiB,GAAG,QAA1B;AACA,IAAM+E,gBAAgB,GAAG,OAAzB;AACA,IAAMC,gBAAgB,GAAG,qBAAzB;AACA,IAAMC,eAAe,GAAG,oBAAxB;AACA,IAAMC,eAAe,GAAG,oBAAxB;AACA,IAAMC,eAAe,GAAG,oBAAxB;AACA,IAAMC,wBAAwB,GAAG,eAAjC;AAEA,IAAMC,eAAe,GAAG,SAAxB;AACA,IAAMC,oBAAoB,GAAG,uBAA7B;AACA,IAAMC,aAAa,GAAG,gBAAtB;AACA,IAAMC,iBAAiB,GAAG,oBAA1B;AACA,IAAMC,kBAAkB,GAAG,0CAA3B;AACA,IAAMC,mBAAmB,GAAG,sBAA5B;AACA,IAAMC,mBAAmB,GAAG,+BAA5B;AACA,IAAMC,kBAAkB,GAAG,wBAA3B;AAEA,IAAMC,WAAW,GAAG;AAClBC,EAAAA,KAAK,EAAE,OADW;AAElBC,EAAAA,GAAG,EAAE;AAFa,CAApB;AAKA;AACA;AACA;AACA;AACA;;IACMC;AACJ,oBAAYpS,OAAZ,EAAqBiC,MAArB,EAA6B;AAC3B,SAAKoQ,MAAL,GAAc,IAAd;AACA,SAAKC,SAAL,GAAiB,IAAjB;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKC,UAAL,GAAkB,KAAlB;AACA,SAAKC,YAAL,GAAoB,IAApB;AACA,SAAKC,WAAL,GAAmB,CAAnB;AACA,SAAKC,WAAL,GAAmB,CAAnB;AAEA,SAAKC,OAAL,GAAe,KAAKC,UAAL,CAAgB7Q,MAAhB,CAAf;AACA,SAAK6I,QAAL,GAAgB9K,OAAhB;AACA,SAAK+S,kBAAL,GAA0B7E,cAAc,CAACM,OAAf,CAAuBsD,mBAAvB,EAA4C,KAAKhH,QAAjD,CAA1B;AACA,SAAKkI,eAAL,GAAuB,kBAAkBnT,QAAQ,CAACyD,eAA3B,IAA8C2P,SAAS,CAACC,cAAV,GAA2B,CAAhG;AACA,SAAKC,aAAL,GAAqBhL,OAAO,CAAC1H,MAAM,CAAC2S,YAAR,CAA5B;;AAEA,SAAKC,kBAAL;;AACAtO,IAAAA,IAAI,CAACC,OAAL,CAAahF,OAAb,EAAsBmK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAYD;SAEAiF,OAAA,gBAAO;AACL,QAAI,CAAC,KAAKqD,UAAV,EAAsB;AACpB,WAAKa,MAAL,CAAYpD,cAAZ;AACD;AACF;;SAEDqD,kBAAA,2BAAkB;AAChB;AACA;AACA,QAAI,CAAC1T,QAAQ,CAAC2T,MAAV,IAAoB1Q,SAAS,CAAC,KAAKgI,QAAN,CAAjC,EAAkD;AAChD,WAAKsE,IAAL;AACD;AACF;;SAEDH,OAAA,gBAAO;AACL,QAAI,CAAC,KAAKwD,UAAV,EAAsB;AACpB,WAAKa,MAAL,CAAYnD,cAAZ;AACD;AACF;;SAEDL,QAAA,eAAM3J,KAAN,EAAa;AACX,QAAI,CAACA,KAAL,EAAY;AACV,WAAKqM,SAAL,GAAiB,IAAjB;AACD;;AAED,QAAItE,cAAc,CAACM,OAAf,CAAuBqD,kBAAvB,EAA2C,KAAK/G,QAAhD,CAAJ,EAA+D;AAC7D7J,MAAAA,oBAAoB,CAAC,KAAK6J,QAAN,CAApB;AACA,WAAK2I,KAAL,CAAW,IAAX;AACD;;AAEDC,IAAAA,aAAa,CAAC,KAAKpB,SAAN,CAAb;AACA,SAAKA,SAAL,GAAiB,IAAjB;AACD;;SAEDmB,QAAA,eAAMtN,KAAN,EAAa;AACX,QAAI,CAACA,KAAL,EAAY;AACV,WAAKqM,SAAL,GAAiB,KAAjB;AACD;;AAED,QAAI,KAAKF,SAAT,EAAoB;AAClBoB,MAAAA,aAAa,CAAC,KAAKpB,SAAN,CAAb;AACA,WAAKA,SAAL,GAAiB,IAAjB;AACD;;AAED,QAAI,KAAKO,OAAL,IAAgB,KAAKA,OAAL,CAAalD,QAA7B,IAAyC,CAAC,KAAK6C,SAAnD,EAA8D;AAC5D,WAAKmB,eAAL;;AAEA,WAAKrB,SAAL,GAAiBsB,WAAW,CAC1B,CAAC/T,QAAQ,CAACgU,eAAT,GAA2B,KAAKN,eAAhC,GAAkD,KAAKnE,IAAxD,EAA8D0E,IAA9D,CAAmE,IAAnE,CAD0B,EAE1B,KAAKjB,OAAL,CAAalD,QAFa,CAA5B;AAID;AACF;;SAEDoE,KAAA,YAAGC,KAAH,EAAU;AAAA;;AACR,SAAKzB,cAAL,GAAsBrE,cAAc,CAACM,OAAf,CAAuBkD,oBAAvB,EAA6C,KAAK5G,QAAlD,CAAtB;;AACA,QAAMmJ,WAAW,GAAG,KAAKC,aAAL,CAAmB,KAAK3B,cAAxB,CAApB;;AAEA,QAAIyB,KAAK,GAAG,KAAK3B,MAAL,CAAYtL,MAAZ,GAAqB,CAA7B,IAAkCiN,KAAK,GAAG,CAA9C,EAAiD;AAC/C;AACD;;AAED,QAAI,KAAKvB,UAAT,EAAqB;AACnBnM,MAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgCyF,UAAhC,EAA4C;AAAA,eAAM,KAAI,CAACwD,EAAL,CAAQC,KAAR,CAAN;AAAA,OAA5C;AACA;AACD;;AAED,QAAIC,WAAW,KAAKD,KAApB,EAA2B;AACzB,WAAKlE,KAAL;AACA,WAAK2D,KAAL;AACA;AACD;;AAED,QAAMU,SAAS,GAAGH,KAAK,GAAGC,WAAR,GAChB/D,cADgB,GAEhBC,cAFF;;AAIA,SAAKmD,MAAL,CAAYa,SAAZ,EAAuB,KAAK9B,MAAL,CAAY2B,KAAZ,CAAvB;AACD;;SAED3I,UAAA,mBAAU;AACR/E,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKuE,QAAtB,EAAgCV,WAAhC;AACArF,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK2F,QAArB,EAA+BX,UAA/B;AAEA,SAAKkI,MAAL,GAAc,IAAd;AACA,SAAKQ,OAAL,GAAe,IAAf;AACA,SAAK/H,QAAL,GAAgB,IAAhB;AACA,SAAKwH,SAAL,GAAiB,IAAjB;AACA,SAAKE,SAAL,GAAiB,IAAjB;AACA,SAAKC,UAAL,GAAkB,IAAlB;AACA,SAAKF,cAAL,GAAsB,IAAtB;AACA,SAAKQ,kBAAL,GAA0B,IAA1B;AACD;;;SAIDD,aAAA,oBAAW7Q,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACDyN,OADC,EAEDzN,MAFC,CAAN;AAIAF,IAAAA,eAAe,CAACkI,MAAD,EAAOhI,MAAP,EAAegO,WAAf,CAAf;AACA,WAAOhO,MAAP;AACD;;SAEDmS,eAAA,wBAAe;AACb,QAAMC,SAAS,GAAG3U,IAAI,CAAC4U,GAAL,CAAS,KAAK1B,WAAd,CAAlB;;AAEA,QAAIyB,SAAS,IAAI5E,eAAjB,EAAkC;AAChC;AACD;;AAED,QAAM0E,SAAS,GAAGE,SAAS,GAAG,KAAKzB,WAAnC;AAEA,SAAKA,WAAL,GAAmB,CAAnB,CATa;;AAYb,QAAIuB,SAAS,GAAG,CAAhB,EAAmB;AACjB,WAAKlF,IAAL;AACD,KAdY;;;AAiBb,QAAIkF,SAAS,GAAG,CAAhB,EAAmB;AACjB,WAAK/E,IAAL;AACD;AACF;;SAEDiE,qBAAA,8BAAqB;AAAA;;AACnB,QAAI,KAAKR,OAAL,CAAajD,QAAjB,EAA2B;AACzBtJ,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B0F,aAA/B,EAA8C,UAAArK,KAAK;AAAA,eAAI,MAAI,CAACoO,QAAL,CAAcpO,KAAd,CAAJ;AAAA,OAAnD;AACD;;AAED,QAAI,KAAK0M,OAAL,CAAa/C,KAAb,KAAuB,OAA3B,EAAoC;AAClCxJ,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B2F,gBAA/B,EAAiD,UAAAtK,KAAK;AAAA,eAAI,MAAI,CAAC2J,KAAL,CAAW3J,KAAX,CAAJ;AAAA,OAAtD;AACAG,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B4F,gBAA/B,EAAiD,UAAAvK,KAAK;AAAA,eAAI,MAAI,CAACsN,KAAL,CAAWtN,KAAX,CAAJ;AAAA,OAAtD;AACD;;AAED,QAAI,KAAK0M,OAAL,CAAa7C,KAAb,IAAsB,KAAKgD,eAA/B,EAAgD;AAC9C,WAAKwB,uBAAL;AACD;AACF;;SAEDA,0BAAA,mCAA0B;AAAA;;AACxB,QAAMC,KAAK,GAAG,SAARA,KAAQ,CAAAtO,KAAK,EAAI;AACrB,UAAI,MAAI,CAACgN,aAAL,IAAsBlB,WAAW,CAAC9L,KAAK,CAACuO,WAAN,CAAkB7R,WAAlB,EAAD,CAArC,EAAwE;AACtE,QAAA,MAAI,CAAC8P,WAAL,GAAmBxM,KAAK,CAACwO,OAAzB;AACD,OAFD,MAEO,IAAI,CAAC,MAAI,CAACxB,aAAV,EAAyB;AAC9B,QAAA,MAAI,CAACR,WAAL,GAAmBxM,KAAK,CAACyO,OAAN,CAAc,CAAd,EAAiBD,OAApC;AACD;AACF,KAND;;AAQA,QAAME,IAAI,GAAG,SAAPA,IAAO,CAAA1O,KAAK,EAAI;AACpB;AACA,UAAIA,KAAK,CAACyO,OAAN,IAAiBzO,KAAK,CAACyO,OAAN,CAAc7N,MAAd,GAAuB,CAA5C,EAA+C;AAC7C,QAAA,MAAI,CAAC6L,WAAL,GAAmB,CAAnB;AACD,OAFD,MAEO;AACL,QAAA,MAAI,CAACA,WAAL,GAAmBzM,KAAK,CAACyO,OAAN,CAAc,CAAd,EAAiBD,OAAjB,GAA2B,MAAI,CAAChC,WAAnD;AACD;AACF,KAPD;;AASA,QAAMmC,GAAG,GAAG,SAANA,GAAM,CAAA3O,KAAK,EAAI;AACnB,UAAI,MAAI,CAACgN,aAAL,IAAsBlB,WAAW,CAAC9L,KAAK,CAACuO,WAAN,CAAkB7R,WAAlB,EAAD,CAArC,EAAwE;AACtE,QAAA,MAAI,CAAC+P,WAAL,GAAmBzM,KAAK,CAACwO,OAAN,GAAgB,MAAI,CAAChC,WAAxC;AACD;;AAED,MAAA,MAAI,CAACyB,YAAL;;AACA,UAAI,MAAI,CAACvB,OAAL,CAAa/C,KAAb,KAAuB,OAA3B,EAAoC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,QAAA,MAAI,CAACA,KAAL;;AACA,YAAI,MAAI,CAAC4C,YAAT,EAAuB;AACrBqC,UAAAA,YAAY,CAAC,MAAI,CAACrC,YAAN,CAAZ;AACD;;AAED,QAAA,MAAI,CAACA,YAAL,GAAoB5Q,UAAU,CAAC,UAAAqE,KAAK;AAAA,iBAAI,MAAI,CAACsN,KAAL,CAAWtN,KAAX,CAAJ;AAAA,SAAN,EAA6BqJ,sBAAsB,GAAG,MAAI,CAACqD,OAAL,CAAalD,QAAnE,CAA9B;AACD;AACF,KAtBD;;AAwBAzB,IAAAA,cAAc,CAACE,IAAf,CAAoBwD,iBAApB,EAAuC,KAAK9G,QAA5C,EAAsDzI,OAAtD,CAA8D,UAAA2S,OAAO,EAAI;AACvE1O,MAAAA,YAAY,CAACkC,EAAb,CAAgBwM,OAAhB,EAAyBhE,gBAAzB,EAA2C,UAAAiE,CAAC;AAAA,eAAIA,CAAC,CAACjL,cAAF,EAAJ;AAAA,OAA5C;AACD,KAFD;;AAIA,QAAI,KAAKmJ,aAAT,EAAwB;AACtB7M,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+BgG,iBAA/B,EAAkD,UAAA3K,KAAK;AAAA,eAAIsO,KAAK,CAACtO,KAAD,CAAT;AAAA,OAAvD;AACAG,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+BiG,eAA/B,EAAgD,UAAA5K,KAAK;AAAA,eAAI2O,GAAG,CAAC3O,KAAD,CAAP;AAAA,OAArD;;AAEA,WAAK2E,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4B1D,wBAA5B;AACD,KALD,MAKO;AACLlL,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B6F,gBAA/B,EAAiD,UAAAxK,KAAK;AAAA,eAAIsO,KAAK,CAACtO,KAAD,CAAT;AAAA,OAAtD;AACAG,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B8F,eAA/B,EAAgD,UAAAzK,KAAK;AAAA,eAAI0O,IAAI,CAAC1O,KAAD,CAAR;AAAA,OAArD;AACAG,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B+F,cAA/B,EAA+C,UAAA1K,KAAK;AAAA,eAAI2O,GAAG,CAAC3O,KAAD,CAAP;AAAA,OAApD;AACD;AACF;;SAEDoO,WAAA,kBAASpO,KAAT,EAAgB;AACd,QAAI,kBAAkBxD,IAAlB,CAAuBwD,KAAK,CAACU,MAAN,CAAasO,OAApC,CAAJ,EAAkD;AAChD;AACD;;AAED,YAAQhP,KAAK,CAAC1B,GAAd;AACE,WAAK6K,cAAL;AACEnJ,QAAAA,KAAK,CAAC6D,cAAN;AACA,aAAKiF,IAAL;AACA;;AACF,WAAKM,eAAL;AACEpJ,QAAAA,KAAK,CAAC6D,cAAN;AACA,aAAKoF,IAAL;AACA;AARJ;AAWD;;SAED8E,gBAAA,uBAAclU,OAAd,EAAuB;AACrB,SAAKqS,MAAL,GAAcrS,OAAO,IAAIA,OAAO,CAACgD,UAAnB,GACZkL,cAAc,CAACE,IAAf,CAAoBuD,aAApB,EAAmC3R,OAAO,CAACgD,UAA3C,CADY,GAEZ,EAFF;AAIA,WAAO,KAAKqP,MAAL,CAAYvK,OAAZ,CAAoB9H,OAApB,CAAP;AACD;;SAEDoV,sBAAA,6BAAoBjB,SAApB,EAA+BkB,aAA/B,EAA8C;AAC5C,QAAMC,eAAe,GAAGnB,SAAS,KAAKjE,cAAtC;AACA,QAAMqF,eAAe,GAAGpB,SAAS,KAAKhE,cAAtC;;AACA,QAAM8D,WAAW,GAAG,KAAKC,aAAL,CAAmBmB,aAAnB,CAApB;;AACA,QAAMG,aAAa,GAAG,KAAKnD,MAAL,CAAYtL,MAAZ,GAAqB,CAA3C;AACA,QAAM0O,aAAa,GAAIF,eAAe,IAAItB,WAAW,KAAK,CAApC,IACGqB,eAAe,IAAIrB,WAAW,KAAKuB,aAD5D;;AAGA,QAAIC,aAAa,IAAI,CAAC,KAAK5C,OAAL,CAAa9C,IAAnC,EAAyC;AACvC,aAAOsF,aAAP;AACD;;AAED,QAAMK,KAAK,GAAGvB,SAAS,KAAKhE,cAAd,GAA+B,CAAC,CAAhC,GAAoC,CAAlD;AACA,QAAMwF,SAAS,GAAG,CAAC1B,WAAW,GAAGyB,KAAf,IAAwB,KAAKrD,MAAL,CAAYtL,MAAtD;AAEA,WAAO4O,SAAS,KAAK,CAAC,CAAf,GACL,KAAKtD,MAAL,CAAY,KAAKA,MAAL,CAAYtL,MAAZ,GAAqB,CAAjC,CADK,GAEL,KAAKsL,MAAL,CAAYsD,SAAZ,CAFF;AAGD;;SAEDC,qBAAA,4BAAmBC,aAAnB,EAAkCC,kBAAlC,EAAsD;AACpD,QAAMC,WAAW,GAAG,KAAK7B,aAAL,CAAmB2B,aAAnB,CAApB;;AACA,QAAMG,SAAS,GAAG,KAAK9B,aAAL,CAAmBhG,cAAc,CAACM,OAAf,CAAuBkD,oBAAvB,EAA6C,KAAK5G,QAAlD,CAAnB,CAAlB;;AAEA,WAAOxE,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoCwF,WAApC,EAAiD;AACtDuF,MAAAA,aAAa,EAAbA,aADsD;AAEtD1B,MAAAA,SAAS,EAAE2B,kBAF2C;AAGtDG,MAAAA,IAAI,EAAED,SAHgD;AAItDjC,MAAAA,EAAE,EAAEgC;AAJkD,KAAjD,CAAP;AAMD;;SAEDG,6BAAA,oCAA2BlW,OAA3B,EAAoC;AAClC,QAAI,KAAK+S,kBAAT,EAA6B;AAC3B,UAAMoD,UAAU,GAAGjI,cAAc,CAACE,IAAf,CAAoBqD,eAApB,EAAqC,KAAKsB,kBAA1C,CAAnB;;AACA,WAAK,IAAIjM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqP,UAAU,CAACpP,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;AAC1CqP,QAAAA,UAAU,CAACrP,CAAD,CAAV,CAAcyE,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;AACD;;AAED,UAAMgK,aAAa,GAAG,KAAKrD,kBAAL,CAAwBtE,QAAxB,CACpB,KAAKyF,aAAL,CAAmBlU,OAAnB,CADoB,CAAtB;;AAIA,UAAIoW,aAAJ,EAAmB;AACjBA,QAAAA,aAAa,CAAC7K,SAAd,CAAwB2J,GAAxB,CAA4B9I,mBAA5B;AACD;AACF;AACF;;SAEDuH,kBAAA,2BAAkB;AAChB,QAAM3T,OAAO,GAAG,KAAKuS,cAAL,IAAuBrE,cAAc,CAACM,OAAf,CAAuBkD,oBAAvB,EAA6C,KAAK5G,QAAlD,CAAvC;;AAEA,QAAI,CAAC9K,OAAL,EAAc;AACZ;AACD;;AAED,QAAMqW,eAAe,GAAGC,QAAQ,CAACtW,OAAO,CAACE,YAAR,CAAqB,eAArB,CAAD,EAAwC,EAAxC,CAAhC;;AAEA,QAAImW,eAAJ,EAAqB;AACnB,WAAKxD,OAAL,CAAa0D,eAAb,GAA+B,KAAK1D,OAAL,CAAa0D,eAAb,IAAgC,KAAK1D,OAAL,CAAalD,QAA5E;AACA,WAAKkD,OAAL,CAAalD,QAAb,GAAwB0G,eAAxB;AACD,KAHD,MAGO;AACL,WAAKxD,OAAL,CAAalD,QAAb,GAAwB,KAAKkD,OAAL,CAAa0D,eAAb,IAAgC,KAAK1D,OAAL,CAAalD,QAArE;AACD;AACF;;SAED2D,SAAA,gBAAOa,SAAP,EAAkBnU,OAAlB,EAA2B;AAAA;;AACzB,QAAMqV,aAAa,GAAGnH,cAAc,CAACM,OAAf,CAAuBkD,oBAAvB,EAA6C,KAAK5G,QAAlD,CAAtB;;AACA,QAAM0L,kBAAkB,GAAG,KAAKtC,aAAL,CAAmBmB,aAAnB,CAA3B;;AACA,QAAMoB,WAAW,GAAGzW,OAAO,IAAKqV,aAAa,IAC3C,KAAKD,mBAAL,CAAyBjB,SAAzB,EAAoCkB,aAApC,CADF;;AAGA,QAAMqB,gBAAgB,GAAG,KAAKxC,aAAL,CAAmBuC,WAAnB,CAAzB;;AACA,QAAME,SAAS,GAAGxO,OAAO,CAAC,KAAKmK,SAAN,CAAzB;AAEA,QAAIsE,oBAAJ;AACA,QAAIC,cAAJ;AACA,QAAIf,kBAAJ;;AAEA,QAAI3B,SAAS,KAAKjE,cAAlB,EAAkC;AAChC0G,MAAAA,oBAAoB,GAAGvF,eAAvB;AACAwF,MAAAA,cAAc,GAAGvF,eAAjB;AACAwE,MAAAA,kBAAkB,GAAG1F,cAArB;AACD,KAJD,MAIO;AACLwG,MAAAA,oBAAoB,GAAGxF,gBAAvB;AACAyF,MAAAA,cAAc,GAAGtF,eAAjB;AACAuE,MAAAA,kBAAkB,GAAGzF,eAArB;AACD;;AAED,QAAIoG,WAAW,IAAIA,WAAW,CAAClL,SAAZ,CAAsBE,QAAtB,CAA+BW,mBAA/B,CAAnB,EAAsE;AACpE,WAAKqG,UAAL,GAAkB,KAAlB;AACA;AACD;;AAED,QAAMqE,UAAU,GAAG,KAAKlB,kBAAL,CAAwBa,WAAxB,EAAqCX,kBAArC,CAAnB;;AACA,QAAIgB,UAAU,CAACxN,gBAAf,EAAiC;AAC/B;AACD;;AAED,QAAI,CAAC+L,aAAD,IAAkB,CAACoB,WAAvB,EAAoC;AAClC;AACA;AACD;;AAED,SAAKhE,UAAL,GAAkB,IAAlB;;AAEA,QAAIkE,SAAJ,EAAe;AACb,WAAK7G,KAAL;AACD;;AAED,SAAKoG,0BAAL,CAAgCO,WAAhC;;AACA,SAAKlE,cAAL,GAAsBkE,WAAtB;;AAEA,QAAI,KAAK3L,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC0F,gBAAjC,CAAJ,EAAwD;AACtDsF,MAAAA,WAAW,CAAClL,SAAZ,CAAsB2J,GAAtB,CAA0B2B,cAA1B;AAEAjT,MAAAA,MAAM,CAAC6S,WAAD,CAAN;AAEApB,MAAAA,aAAa,CAAC9J,SAAd,CAAwB2J,GAAxB,CAA4B0B,oBAA5B;AACAH,MAAAA,WAAW,CAAClL,SAAZ,CAAsB2J,GAAtB,CAA0B0B,oBAA1B;AAEA,UAAMjW,kBAAkB,GAAGH,gCAAgC,CAAC6U,aAAD,CAA3D;AAEA/O,MAAAA,YAAY,CAACmC,GAAb,CAAiB4M,aAAjB,EAAgCrW,cAAhC,EAAgD,YAAM;AACpDyX,QAAAA,WAAW,CAAClL,SAAZ,CAAsBC,MAAtB,CAA6BoL,oBAA7B,EAAmDC,cAAnD;AACAJ,QAAAA,WAAW,CAAClL,SAAZ,CAAsB2J,GAAtB,CAA0B9I,mBAA1B;AAEAiJ,QAAAA,aAAa,CAAC9J,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B,EAAkDyK,cAAlD,EAAkED,oBAAlE;AAEA,QAAA,MAAI,CAACnE,UAAL,GAAkB,KAAlB;AAEA3Q,QAAAA,UAAU,CAAC,YAAM;AACfwE,UAAAA,YAAY,CAAC0C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoCyF,UAApC,EAAgD;AAC9CsF,YAAAA,aAAa,EAAEY,WAD+B;AAE9CtC,YAAAA,SAAS,EAAE2B,kBAFmC;AAG9CG,YAAAA,IAAI,EAAEO,kBAHwC;AAI9CzC,YAAAA,EAAE,EAAE2C;AAJ0C,WAAhD;AAMD,SAPS,EAOP,CAPO,CAAV;AAQD,OAhBD;AAkBApV,MAAAA,oBAAoB,CAAC+T,aAAD,EAAgB1U,kBAAhB,CAApB;AACD,KA7BD,MA6BO;AACL0U,MAAAA,aAAa,CAAC9J,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;AACAqK,MAAAA,WAAW,CAAClL,SAAZ,CAAsB2J,GAAtB,CAA0B9I,mBAA1B;AAEA,WAAKqG,UAAL,GAAkB,KAAlB;AACAnM,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoCyF,UAApC,EAAgD;AAC9CsF,QAAAA,aAAa,EAAEY,WAD+B;AAE9CtC,QAAAA,SAAS,EAAE2B,kBAFmC;AAG9CG,QAAAA,IAAI,EAAEO,kBAHwC;AAI9CzC,QAAAA,EAAE,EAAE2C;AAJ0C,OAAhD;AAMD;;AAED,QAAIC,SAAJ,EAAe;AACb,WAAKlD,KAAL;AACD;AACF;;;WAIMsD,oBAAP,2BAAyB/W,OAAzB,EAAkCiC,MAAlC,EAA0C;AACxC,QAAIyC,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAX;;AACA,QAAI0I,OAAO,gBACNnD,OADM,EAEN3C,WAAW,CAACI,iBAAZ,CAA8BnN,OAA9B,CAFM,CAAX;;AAKA,QAAI,OAAOiC,MAAP,KAAkB,QAAtB,EAAgC;AAC9B4Q,MAAAA,OAAO,gBACFA,OADE,EAEF5Q,MAFE,CAAP;AAID;;AAED,QAAM+U,MAAM,GAAG,OAAO/U,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC4Q,OAAO,CAAChD,KAA7D;;AAEA,QAAI,CAACnL,IAAL,EAAW;AACTA,MAAAA,IAAI,GAAG,IAAI0N,QAAJ,CAAapS,OAAb,EAAsB6S,OAAtB,CAAP;AACD;;AAED,QAAI,OAAO5Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9ByC,MAAAA,IAAI,CAACqP,EAAL,CAAQ9R,MAAR;AACD,KAFD,MAEO,IAAI,OAAO+U,MAAP,KAAkB,QAAtB,EAAgC;AACrC,UAAI,OAAOtS,IAAI,CAACsS,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,cAAM,IAAIC,SAAJ,wBAAkCD,MAAlC,QAAN;AACD;;AAEDtS,MAAAA,IAAI,CAACsS,MAAD,CAAJ;AACD,KANM,MAMA,IAAInE,OAAO,CAAClD,QAAR,IAAoBkD,OAAO,CAACqE,IAAhC,EAAsC;AAC3CxS,MAAAA,IAAI,CAACoL,KAAL;AACApL,MAAAA,IAAI,CAAC+O,KAAL;AACD;AACF;;WAEM7H,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3BuG,MAAAA,QAAQ,CAAC2E,iBAAT,CAA2B,IAA3B,EAAiC9U,MAAjC;AACD,KAFM,CAAP;AAGD;;WAEMkV,sBAAP,6BAA2BhR,KAA3B,EAAkC;AAChC,QAAMU,MAAM,GAAGtG,sBAAsB,CAAC,IAAD,CAArC;;AAEA,QAAI,CAACsG,MAAD,IAAW,CAACA,MAAM,CAAC0E,SAAP,CAAiBE,QAAjB,CAA0ByF,mBAA1B,CAAhB,EAAgE;AAC9D;AACD;;AAED,QAAMjP,MAAM,gBACP8K,WAAW,CAACI,iBAAZ,CAA8BtG,MAA9B,CADO,EAEPkG,WAAW,CAACI,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;AAIA,QAAMiK,UAAU,GAAG,KAAKlX,YAAL,CAAkB,eAAlB,CAAnB;;AAEA,QAAIkX,UAAJ,EAAgB;AACdnV,MAAAA,MAAM,CAAC0N,QAAP,GAAkB,KAAlB;AACD;;AAEDyC,IAAAA,QAAQ,CAAC2E,iBAAT,CAA2BlQ,MAA3B,EAAmC5E,MAAnC;;AAEA,QAAImV,UAAJ,EAAgB;AACdrS,MAAAA,IAAI,CAACG,OAAL,CAAa2B,MAAb,EAAqBsD,UAArB,EAA+B4J,EAA/B,CAAkCqD,UAAlC;AACD;;AAEDjR,IAAAA,KAAK,CAAC6D,cAAN;AACD;;WAEMgC,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;wBAldoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOwF,OAAP;AACD;;;;;AA+cH;AACA;AACA;AACA;AACA;;;AAEApJ,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B4K,sBAA1B,EAAgDsH,mBAAhD,EAAqEK,QAAQ,CAAC+E,mBAA9E;AAEA7Q,YAAY,CAACkC,EAAb,CAAgB/H,MAAhB,EAAwBwQ,mBAAxB,EAA6C,YAAM;AACjD,MAAMoG,SAAS,GAAGnJ,cAAc,CAACE,IAAf,CAAoB4D,kBAApB,CAAlB;;AAEA,OAAK,IAAIlL,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGiQ,SAAS,CAACtQ,MAAhC,EAAwCD,CAAC,GAAGM,GAA5C,EAAiDN,CAAC,EAAlD,EAAsD;AACpDsL,IAAAA,QAAQ,CAAC2E,iBAAT,CAA2BM,SAAS,CAACvQ,CAAD,CAApC,EAAyC/B,IAAI,CAACG,OAAL,CAAamS,SAAS,CAACvQ,CAAD,CAAtB,EAA2BqD,UAA3B,CAAzC;AACD;AACF,CAND;AAQA;AACA;AACA;AACA;AACA;AACA;;AAEAjG,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAamI,QAAQ,CAACxG,eAAtB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyBkG,QAAzB;;AACAlJ,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAOmG,QAAQ,CAACxG,eAAhB;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACrlBA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,UAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,aAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMqF,SAAO,GAAG;AACdnD,EAAAA,MAAM,EAAE,IADM;AAEd+K,EAAAA,MAAM,EAAE;AAFM,CAAhB;AAKA,IAAMrH,aAAW,GAAG;AAClB1D,EAAAA,MAAM,EAAE,SADU;AAElB+K,EAAAA,MAAM,EAAE;AAFU,CAApB;AAKA,IAAMC,UAAU,YAAUnN,WAA1B;AACA,IAAMoN,WAAW,aAAWpN,WAA5B;AACA,IAAMqN,UAAU,YAAUrN,WAA1B;AACA,IAAMsN,YAAY,cAAYtN,WAA9B;AACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA,IAAMsN,eAAe,GAAG,MAAxB;AACA,IAAMC,mBAAmB,GAAG,UAA5B;AACA,IAAMC,qBAAqB,GAAG,YAA9B;AACA,IAAMC,oBAAoB,GAAG,WAA7B;AAEA,IAAMC,KAAK,GAAG,OAAd;AACA,IAAMC,MAAM,GAAG,QAAf;AAEA,IAAMC,gBAAgB,GAAG,oBAAzB;AACA,IAAM5L,sBAAoB,GAAG,0BAA7B;AAEA;AACA;AACA;AACA;AACA;;IAEM6L;AACJ,oBAAYlY,OAAZ,EAAqBiC,MAArB,EAA6B;AAC3B,SAAKkW,gBAAL,GAAwB,KAAxB;AACA,SAAKrN,QAAL,GAAgB9K,OAAhB;AACA,SAAK6S,OAAL,GAAe,KAAKC,UAAL,CAAgB7Q,MAAhB,CAAf;AACA,SAAKmW,aAAL,GAAqBlK,cAAc,CAACE,IAAf,CAChB/B,sBAAH,iBAAkCrM,OAAO,CAACuE,EAA1C,aACG8H,sBADH,wBACyCrM,OAAO,CAACuE,EADjD,SADmB,CAArB;AAKA,QAAM8T,UAAU,GAAGnK,cAAc,CAACE,IAAf,CAAoB/B,sBAApB,CAAnB;;AAEA,SAAK,IAAIvF,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGiR,UAAU,CAACtR,MAAjC,EAAyCD,CAAC,GAAGM,GAA7C,EAAkDN,CAAC,EAAnD,EAAuD;AACrD,UAAMwR,IAAI,GAAGD,UAAU,CAACvR,CAAD,CAAvB;AACA,UAAM7G,QAAQ,GAAGI,sBAAsB,CAACiY,IAAD,CAAvC;AACA,UAAMC,aAAa,GAAGrK,cAAc,CAACE,IAAf,CAAoBnO,QAApB,EACnByO,MADmB,CACZ,UAAA8J,SAAS;AAAA,eAAIA,SAAS,KAAKxY,OAAlB;AAAA,OADG,CAAtB;;AAGA,UAAIC,QAAQ,KAAK,IAAb,IAAqBsY,aAAa,CAACxR,MAAvC,EAA+C;AAC7C,aAAK0R,SAAL,GAAiBxY,QAAjB;;AACA,aAAKmY,aAAL,CAAmBpJ,IAAnB,CAAwBsJ,IAAxB;AACD;AACF;;AAED,SAAKI,OAAL,GAAe,KAAK7F,OAAL,CAAayE,MAAb,GAAsB,KAAKqB,UAAL,EAAtB,GAA0C,IAAzD;;AAEA,QAAI,CAAC,KAAK9F,OAAL,CAAayE,MAAlB,EAA0B;AACxB,WAAKsB,yBAAL,CAA+B,KAAK9N,QAApC,EAA8C,KAAKsN,aAAnD;AACD;;AAED,QAAI,KAAKvF,OAAL,CAAatG,MAAjB,EAAyB;AACvB,WAAKA,MAAL;AACD;;AAEDxH,IAAAA,IAAI,CAACC,OAAL,CAAahF,OAAb,EAAsBmK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAYD;SAEAoC,SAAA,kBAAS;AACP,QAAI,KAAKzB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkM,eAAjC,CAAJ,EAAuD;AACrD,WAAKkB,IAAL;AACD,KAFD,MAEO;AACL,WAAKC,IAAL;AACD;AACF;;SAEDA,OAAA,gBAAO;AAAA;;AACL,QAAI,KAAKX,gBAAL,IACF,KAAKrN,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkM,eAAjC,CADF,EACqD;AACnD;AACD;;AAED,QAAIoB,OAAJ;AACA,QAAIC,WAAJ;;AAEA,QAAI,KAAKN,OAAT,EAAkB;AAChBK,MAAAA,OAAO,GAAG7K,cAAc,CAACE,IAAf,CAAoB6J,gBAApB,EAAsC,KAAKS,OAA3C,EACPhK,MADO,CACA,UAAA4J,IAAI,EAAI;AACd,YAAI,OAAO,KAAI,CAACzF,OAAL,CAAayE,MAApB,KAA+B,QAAnC,EAA6C;AAC3C,iBAAOgB,IAAI,CAACpY,YAAL,CAAkB,aAAlB,MAAqC,KAAI,CAAC2S,OAAL,CAAayE,MAAzD;AACD;;AAED,eAAOgB,IAAI,CAAC/M,SAAL,CAAeE,QAAf,CAAwBmM,mBAAxB,CAAP;AACD,OAPO,CAAV;;AASA,UAAImB,OAAO,CAAChS,MAAR,KAAmB,CAAvB,EAA0B;AACxBgS,QAAAA,OAAO,GAAG,IAAV;AACD;AACF;;AAED,QAAME,SAAS,GAAG/K,cAAc,CAACM,OAAf,CAAuB,KAAKiK,SAA5B,CAAlB;;AACA,QAAIM,OAAJ,EAAa;AACX,UAAMG,cAAc,GAAGH,OAAO,CAACrK,MAAR,CAAe,UAAA4J,IAAI;AAAA,eAAIW,SAAS,KAAKX,IAAlB;AAAA,OAAnB,CAAvB;AACAU,MAAAA,WAAW,GAAGE,cAAc,CAAC,CAAD,CAAd,GAAoBnU,IAAI,CAACG,OAAL,CAAagU,cAAc,CAAC,CAAD,CAA3B,EAAgC/O,UAAhC,CAApB,GAAgE,IAA9E;;AAEA,UAAI6O,WAAW,IAAIA,WAAW,CAACb,gBAA/B,EAAiD;AAC/C;AACD;AACF;;AAED,QAAMgB,UAAU,GAAG7S,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoCyM,UAApC,CAAnB;;AACA,QAAI4B,UAAU,CAAC7P,gBAAf,EAAiC;AAC/B;AACD;;AAED,QAAIyP,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC1W,OAAR,CAAgB,UAAA+W,UAAU,EAAI;AAC5B,YAAIH,SAAS,KAAKG,UAAlB,EAA8B;AAC5BlB,UAAAA,QAAQ,CAACmB,iBAAT,CAA2BD,UAA3B,EAAuC,MAAvC;AACD;;AAED,YAAI,CAACJ,WAAL,EAAkB;AAChBjU,UAAAA,IAAI,CAACC,OAAL,CAAaoU,UAAb,EAAyBjP,UAAzB,EAAmC,IAAnC;AACD;AACF,OARD;AASD;;AAED,QAAMmP,SAAS,GAAG,KAAKC,aAAL,EAAlB;;AAEA,SAAKzO,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BoM,mBAA/B;;AACA,SAAK9M,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4B2C,qBAA5B;;AAEA,SAAK/M,QAAL,CAAc/H,KAAd,CAAoBuW,SAApB,IAAiC,CAAjC;;AAEA,QAAI,KAAKlB,aAAL,CAAmBrR,MAAvB,EAA+B;AAC7B,WAAKqR,aAAL,CAAmB/V,OAAnB,CAA2B,UAAArC,OAAO,EAAI;AACpCA,QAAAA,OAAO,CAACuL,SAAR,CAAkBC,MAAlB,CAAyBsM,oBAAzB;AACA9X,QAAAA,OAAO,CAACwM,YAAR,CAAqB,eAArB,EAAsC,IAAtC;AACD,OAHD;AAID;;AAED,SAAKgN,gBAAL,CAAsB,IAAtB;;AAEA,QAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAA,KAAI,CAAC3O,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BqM,qBAA/B;;AACA,MAAA,KAAI,CAAC/M,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4B0C,mBAA5B,EAAiDD,eAAjD;;AAEA,MAAA,KAAI,CAAC7M,QAAL,CAAc/H,KAAd,CAAoBuW,SAApB,IAAiC,EAAjC;;AAEA,MAAA,KAAI,CAACE,gBAAL,CAAsB,KAAtB;;AAEAlT,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,KAAI,CAAC8B,QAA1B,EAAoC0M,WAApC;AACD,KATD;;AAWA,QAAMkC,oBAAoB,GAAGJ,SAAS,CAAC,CAAD,CAAT,CAAazW,WAAb,KAA6ByW,SAAS,CAACxQ,KAAV,CAAgB,CAAhB,CAA1D;AACA,QAAM6Q,UAAU,cAAYD,oBAA5B;AACA,QAAM/Y,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKsK,QAAN,CAA3D;AAEAxE,IAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgC9L,cAAhC,EAAgDya,QAAhD;AAEAnY,IAAAA,oBAAoB,CAAC,KAAKwJ,QAAN,EAAgBnK,kBAAhB,CAApB;AACA,SAAKmK,QAAL,CAAc/H,KAAd,CAAoBuW,SAApB,IAAoC,KAAKxO,QAAL,CAAc6O,UAAd,CAApC;AACD;;SAEDd,OAAA,gBAAO;AAAA;;AACL,QAAI,KAAKV,gBAAL,IACF,CAAC,KAAKrN,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkM,eAAjC,CADH,EACsD;AACpD;AACD;;AAED,QAAMwB,UAAU,GAAG7S,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC2M,UAApC,CAAnB;;AACA,QAAI0B,UAAU,CAAC7P,gBAAf,EAAiC;AAC/B;AACD;;AAED,QAAMgQ,SAAS,GAAG,KAAKC,aAAL,EAAlB;;AAEA,SAAKzO,QAAL,CAAc/H,KAAd,CAAoBuW,SAApB,IAAoC,KAAKxO,QAAL,CAAc2C,qBAAd,GAAsC6L,SAAtC,CAApC;AAEA1V,IAAAA,MAAM,CAAC,KAAKkH,QAAN,CAAN;;AAEA,SAAKA,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4B2C,qBAA5B;;AACA,SAAK/M,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BoM,mBAA/B,EAAoDD,eAApD;;AAEA,QAAMiC,kBAAkB,GAAG,KAAKxB,aAAL,CAAmBrR,MAA9C;;AACA,QAAI6S,kBAAkB,GAAG,CAAzB,EAA4B;AAC1B,WAAK,IAAI9S,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8S,kBAApB,EAAwC9S,CAAC,EAAzC,EAA6C;AAC3C,YAAMkC,OAAO,GAAG,KAAKoP,aAAL,CAAmBtR,CAAnB,CAAhB;AACA,YAAMwR,IAAI,GAAG/X,sBAAsB,CAACyI,OAAD,CAAnC;;AAEA,YAAIsP,IAAI,IAAI,CAACA,IAAI,CAAC/M,SAAL,CAAeE,QAAf,CAAwBkM,eAAxB,CAAb,EAAuD;AACrD3O,UAAAA,OAAO,CAACuC,SAAR,CAAkB2J,GAAlB,CAAsB4C,oBAAtB;AACA9O,UAAAA,OAAO,CAACwD,YAAR,CAAqB,eAArB,EAAsC,KAAtC;AACD;AACF;AACF;;AAED,SAAKgN,gBAAL,CAAsB,IAAtB;;AAEA,QAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAA,MAAI,CAACD,gBAAL,CAAsB,KAAtB;;AACA,MAAA,MAAI,CAAC1O,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BqM,qBAA/B;;AACA,MAAA,MAAI,CAAC/M,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4B0C,mBAA5B;;AACAtR,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoC4M,YAApC;AACD,KALD;;AAOA,SAAK5M,QAAL,CAAc/H,KAAd,CAAoBuW,SAApB,IAAiC,EAAjC;AACA,QAAM3Y,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKsK,QAAN,CAA3D;AAEAxE,IAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgC9L,cAAhC,EAAgDya,QAAhD;AACAnY,IAAAA,oBAAoB,CAAC,KAAKwJ,QAAN,EAAgBnK,kBAAhB,CAApB;AACD;;SAED6Y,mBAAA,0BAAiBK,eAAjB,EAAkC;AAChC,SAAK1B,gBAAL,GAAwB0B,eAAxB;AACD;;SAEDxO,UAAA,mBAAU;AACRtG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK2F,QAArB,EAA+BX,UAA/B;AAEA,SAAK0I,OAAL,GAAe,IAAf;AACA,SAAK6F,OAAL,GAAe,IAAf;AACA,SAAK5N,QAAL,GAAgB,IAAhB;AACA,SAAKsN,aAAL,GAAqB,IAArB;AACA,SAAKD,gBAAL,GAAwB,IAAxB;AACD;;;SAIDrF,aAAA,oBAAW7Q,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACDyN,SADC,EAEDzN,MAFC,CAAN;AAIAA,IAAAA,MAAM,CAACsK,MAAP,GAAgBpE,OAAO,CAAClG,MAAM,CAACsK,MAAR,CAAvB,CALiB;;AAMjBxK,IAAAA,eAAe,CAACkI,MAAD,EAAOhI,MAAP,EAAegO,aAAf,CAAf;AACA,WAAOhO,MAAP;AACD;;SAEDsX,gBAAA,yBAAgB;AACd,WAAO,KAAKzO,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCsM,KAAjC,IAA0CA,KAA1C,GAAkDC,MAAzD;AACD;;SAEDW,aAAA,sBAAa;AAAA;;AAAA,QACLrB,MADK,GACM,KAAKzE,OADX,CACLyE,MADK;;AAGX,QAAIlW,SAAS,CAACkW,MAAD,CAAb,EAAuB;AACrB;AACA,UAAI,OAAOA,MAAM,CAACwC,MAAd,KAAyB,WAAzB,IAAwC,OAAOxC,MAAM,CAAC,CAAD,CAAb,KAAqB,WAAjE,EAA8E;AAC5EA,QAAAA,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAf;AACD;AACF,KALD,MAKO;AACLA,MAAAA,MAAM,GAAGpJ,cAAc,CAACM,OAAf,CAAuB8I,MAAvB,CAAT;AACD;;AAED,QAAMrX,QAAQ,GAAMoM,sBAAN,uBAA2CiL,MAA3C,QAAd;AAEApJ,IAAAA,cAAc,CAACE,IAAf,CAAoBnO,QAApB,EAA8BqX,MAA9B,EACGjV,OADH,CACW,UAAArC,OAAO,EAAI;AAClB,UAAM+Z,QAAQ,GAAGxZ,sBAAsB,CAACP,OAAD,CAAvC;;AAEA,MAAA,MAAI,CAAC4Y,yBAAL,CACEmB,QADF,EAEE,CAAC/Z,OAAD,CAFF;AAID,KARH;AAUA,WAAOsX,MAAP;AACD;;SAEDsB,4BAAA,mCAA0B5Y,OAA1B,EAAmCga,YAAnC,EAAiD;AAC/C,QAAI,CAACha,OAAD,IAAY,CAACga,YAAY,CAACjT,MAA9B,EAAsC;AACpC;AACD;;AAED,QAAMkT,MAAM,GAAGja,OAAO,CAACuL,SAAR,CAAkBE,QAAlB,CAA2BkM,eAA3B,CAAf;AAEAqC,IAAAA,YAAY,CAAC3X,OAAb,CAAqB,UAAAiW,IAAI,EAAI;AAC3B,UAAI2B,MAAJ,EAAY;AACV3B,QAAAA,IAAI,CAAC/M,SAAL,CAAeC,MAAf,CAAsBsM,oBAAtB;AACD,OAFD,MAEO;AACLQ,QAAAA,IAAI,CAAC/M,SAAL,CAAe2J,GAAf,CAAmB4C,oBAAnB;AACD;;AAEDQ,MAAAA,IAAI,CAAC9L,YAAL,CAAkB,eAAlB,EAAmCyN,MAAnC;AACD,KARD;AASD;;;WAIMZ,oBAAP,2BAAyBrZ,OAAzB,EAAkCiC,MAAlC,EAA0C;AACxC,QAAIyC,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAX;;AACA,QAAM0I,OAAO,gBACRnD,SADQ,EAER3C,WAAW,CAACI,iBAAZ,CAA8BnN,OAA9B,CAFQ,EAGP,OAAOiC,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHzC,CAAb;;AAMA,QAAI,CAACyC,IAAD,IAASmO,OAAO,CAACtG,MAAjB,IAA2B,OAAOtK,MAAP,KAAkB,QAA7C,IAAyD,YAAYU,IAAZ,CAAiBV,MAAjB,CAA7D,EAAuF;AACrF4Q,MAAAA,OAAO,CAACtG,MAAR,GAAiB,KAAjB;AACD;;AAED,QAAI,CAAC7H,IAAL,EAAW;AACTA,MAAAA,IAAI,GAAG,IAAIwT,QAAJ,CAAalY,OAAb,EAAsB6S,OAAtB,CAAP;AACD;;AAED,QAAI,OAAO5Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,UAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,cAAM,IAAIgV,SAAJ,wBAAkChV,MAAlC,QAAN;AACD;;AAEDyC,MAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF;;WAEM2J,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3BqM,MAAAA,QAAQ,CAACmB,iBAAT,CAA2B,IAA3B,EAAiCpX,MAAjC;AACD,KAFM,CAAP;AAGD;;WAEM+J,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;wBAzQoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOwF,SAAP;AACD;;;;;AAsQH;AACA;AACA;AACA;AACA;;;AAEApJ,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B4K,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAUlG,KAAV,EAAiB;AACrF;AACA,MAAIA,KAAK,CAACU,MAAN,CAAasO,OAAb,KAAyB,GAA7B,EAAkC;AAChChP,IAAAA,KAAK,CAAC6D,cAAN;AACD;;AAED,MAAMkQ,WAAW,GAAGnN,WAAW,CAACI,iBAAZ,CAA8B,IAA9B,CAApB;AACA,MAAMlN,QAAQ,GAAGI,sBAAsB,CAAC,IAAD,CAAvC;AACA,MAAM8Z,gBAAgB,GAAGjM,cAAc,CAACE,IAAf,CAAoBnO,QAApB,CAAzB;AAEAka,EAAAA,gBAAgB,CAAC9X,OAAjB,CAAyB,UAAArC,OAAO,EAAI;AAClC,QAAM0E,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAb;AACA,QAAIlI,MAAJ;;AACA,QAAIyC,IAAJ,EAAU;AACR;AACA,UAAIA,IAAI,CAACgU,OAAL,KAAiB,IAAjB,IAAyB,OAAOwB,WAAW,CAAC5C,MAAnB,KAA8B,QAA3D,EAAqE;AACnE5S,QAAAA,IAAI,CAACmO,OAAL,CAAayE,MAAb,GAAsB4C,WAAW,CAAC5C,MAAlC;AACA5S,QAAAA,IAAI,CAACgU,OAAL,GAAehU,IAAI,CAACiU,UAAL,EAAf;AACD;;AAED1W,MAAAA,MAAM,GAAG,QAAT;AACD,KARD,MAQO;AACLA,MAAAA,MAAM,GAAGiY,WAAT;AACD;;AAEDhC,IAAAA,QAAQ,CAACmB,iBAAT,CAA2BrZ,OAA3B,EAAoCiC,MAApC;AACD,GAhBD;AAiBD,CA3BD;AA6BA;AACA;AACA;AACA;AACA;AACA;;AAEAiC,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAaiO,QAAQ,CAACtM,eAAtB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyBgM,QAAzB;;AACAhP,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAOiM,QAAQ,CAACtM,eAAhB;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;AC5YA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,UAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,aAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAM+P,UAAU,GAAG,QAAnB;AACA,IAAMC,SAAS,GAAG,OAAlB;AACA,IAAMC,OAAO,GAAG,KAAhB;AACA,IAAMC,YAAY,GAAG,SAArB;AACA,IAAMC,cAAc,GAAG,WAAvB;AACA,IAAMC,kBAAkB,GAAG,CAA3B;;AAEA,IAAMC,cAAc,GAAG,IAAIhY,MAAJ,CAAc6X,YAAd,SAA8BC,cAA9B,SAAgDJ,UAAhD,CAAvB;AAEA,IAAM3C,YAAU,YAAUrN,WAA1B;AACA,IAAMsN,cAAY,cAAYtN,WAA9B;AACA,IAAMmN,YAAU,YAAUnN,WAA1B;AACA,IAAMoN,aAAW,aAAWpN,WAA5B;AACA,IAAMuQ,WAAW,aAAWvQ,WAA5B;AACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AACA,IAAMuQ,sBAAsB,eAAaxQ,WAAb,GAAyBC,cAArD;AACA,IAAMwQ,oBAAoB,aAAWzQ,WAAX,GAAuBC,cAAjD;AAEA,IAAMyQ,mBAAmB,GAAG,UAA5B;AACA,IAAMnD,iBAAe,GAAG,MAAxB;AACA,IAAMoD,iBAAiB,GAAG,QAA1B;AACA,IAAMC,oBAAoB,GAAG,WAA7B;AACA,IAAMC,mBAAmB,GAAG,UAA5B;AACA,IAAMC,oBAAoB,GAAG,qBAA7B;AACA,IAAMC,iBAAiB,GAAG,QAA1B;AACA,IAAMC,0BAA0B,GAAG,iBAAnC;AAEA,IAAM/O,sBAAoB,GAAG,0BAA7B;AACA,IAAMgP,mBAAmB,GAAG,gBAA5B;AACA,IAAMC,aAAa,GAAG,gBAAtB;AACA,IAAMC,mBAAmB,GAAG,aAA5B;AACA,IAAMC,sBAAsB,GAAG,6DAA/B;AAEA,IAAMC,aAAa,GAAG,WAAtB;AACA,IAAMC,gBAAgB,GAAG,SAAzB;AACA,IAAMC,gBAAgB,GAAG,cAAzB;AACA,IAAMC,mBAAmB,GAAG,YAA5B;AACA,IAAMC,eAAe,GAAG,aAAxB;AACA,IAAMC,cAAc,GAAG,YAAvB;AAEA,IAAMpM,SAAO,GAAG;AACdnC,EAAAA,MAAM,EAAE,CADM;AAEdwO,EAAAA,IAAI,EAAE,IAFQ;AAGdC,EAAAA,QAAQ,EAAE,cAHI;AAIdC,EAAAA,SAAS,EAAE,QAJG;AAKd9Y,EAAAA,OAAO,EAAE,SALK;AAMd+Y,EAAAA,YAAY,EAAE;AANA,CAAhB;AASA,IAAMjM,aAAW,GAAG;AAClB1C,EAAAA,MAAM,EAAE,0BADU;AAElBwO,EAAAA,IAAI,EAAE,SAFY;AAGlBC,EAAAA,QAAQ,EAAE,kBAHQ;AAIlBC,EAAAA,SAAS,EAAE,kBAJO;AAKlB9Y,EAAAA,OAAO,EAAE,QALS;AAMlB+Y,EAAAA,YAAY,EAAE;AANI,CAApB;AASA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,oBAAYnc,OAAZ,EAAqBiC,MAArB,EAA6B;AAC3B,SAAK6I,QAAL,GAAgB9K,OAAhB;AACA,SAAKoc,OAAL,GAAe,IAAf;AACA,SAAKvJ,OAAL,GAAe,KAAKC,UAAL,CAAgB7Q,MAAhB,CAAf;AACA,SAAKoa,KAAL,GAAa,KAAKC,eAAL,EAAb;AACA,SAAKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;AAEA,SAAKnJ,kBAAL;;AACAtO,IAAAA,IAAI,CAACC,OAAL,CAAahF,OAAb,EAAsBmK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAgBD;SAEAoC,SAAA,kBAAS;AACP,QAAI,KAAKzB,QAAL,CAAc2R,QAAd,IAA0B,KAAK3R,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqP,mBAAjC,CAA9B,EAAqF;AACnF;AACD;;AAED,QAAM4B,QAAQ,GAAG,KAAK5R,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkM,iBAAjC,CAAjB;;AAEAwE,IAAAA,QAAQ,CAACQ,UAAT;;AAEA,QAAID,QAAJ,EAAc;AACZ;AACD;;AAED,SAAK5D,IAAL;AACD;;SAEDA,OAAA,gBAAO;AACL,QAAI,KAAKhO,QAAL,CAAc2R,QAAd,IAA0B,KAAK3R,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqP,mBAAjC,CAA1B,IAAmF,KAAKuB,KAAL,CAAW9Q,SAAX,CAAqBE,QAArB,CAA8BkM,iBAA9B,CAAvF,EAAuI;AACrI;AACD;;AAED,QAAML,MAAM,GAAG6E,QAAQ,CAACS,oBAAT,CAA8B,KAAK9R,QAAnC,CAAf;AACA,QAAM+K,aAAa,GAAG;AACpBA,MAAAA,aAAa,EAAE,KAAK/K;AADA,KAAtB;AAIA,QAAM+R,SAAS,GAAGvW,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoCyM,YAApC,EAAgD1B,aAAhD,CAAlB;;AAEA,QAAIgH,SAAS,CAACvT,gBAAd,EAAgC;AAC9B;AACD,KAdI;;;AAiBL,QAAI,CAAC,KAAKiT,SAAV,EAAqB;AACnB,UAAI,OAAOO,MAAP,KAAkB,WAAtB,EAAmC;AACjC,cAAM,IAAI7F,SAAJ,CAAc,kEAAd,CAAN;AACD;;AAED,UAAI8F,gBAAgB,GAAG,KAAKjS,QAA5B;;AAEA,UAAI,KAAK+H,OAAL,CAAaoJ,SAAb,KAA2B,QAA/B,EAAyC;AACvCc,QAAAA,gBAAgB,GAAGzF,MAAnB;AACD,OAFD,MAEO,IAAIlW,SAAS,CAAC,KAAKyR,OAAL,CAAaoJ,SAAd,CAAb,EAAuC;AAC5Cc,QAAAA,gBAAgB,GAAG,KAAKlK,OAAL,CAAaoJ,SAAhC,CAD4C;;AAI5C,YAAI,OAAO,KAAKpJ,OAAL,CAAaoJ,SAAb,CAAuBnC,MAA9B,KAAyC,WAA7C,EAA0D;AACxDiD,UAAAA,gBAAgB,GAAG,KAAKlK,OAAL,CAAaoJ,SAAb,CAAuB,CAAvB,CAAnB;AACD;AACF,OAhBkB;AAmBnB;AACA;;;AACA,UAAI,KAAKpJ,OAAL,CAAamJ,QAAb,KAA0B,cAA9B,EAA8C;AAC5C1E,QAAAA,MAAM,CAAC/L,SAAP,CAAiB2J,GAAjB,CAAqBkG,0BAArB;AACD;;AAED,WAAKgB,OAAL,GAAe,IAAIU,MAAJ,CAAWC,gBAAX,EAA6B,KAAKV,KAAlC,EAAyC,KAAKW,gBAAL,EAAzC,CAAf;AACD,KA3CI;AA8CL;AACA;AACA;;;AACA,QAAI,kBAAkBnd,QAAQ,CAACyD,eAA3B,IACF,CAACgU,MAAM,CAAChM,OAAP,CAAeiQ,mBAAf,CADH,EACwC;AAAA;;AACtC,kBAAGlN,MAAH,aAAaxO,QAAQ,CAACmE,IAAT,CAAcyK,QAA3B,EACGpM,OADH,CACW,UAAAiW,IAAI;AAAA,eAAIhS,YAAY,CAACkC,EAAb,CAAgB8P,IAAhB,EAAsB,WAAtB,EAAmC,IAAnC,EAAyC3U,IAAI,EAA7C,CAAJ;AAAA,OADf;AAED;;AAED,SAAKmH,QAAL,CAAcmS,KAAd;;AACA,SAAKnS,QAAL,CAAc0B,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;AAEA,SAAK6P,KAAL,CAAW9Q,SAAX,CAAqBgB,MAArB,CAA4BoL,iBAA5B;;AACA,SAAK7M,QAAL,CAAcS,SAAd,CAAwBgB,MAAxB,CAA+BoL,iBAA/B;;AACArR,IAAAA,YAAY,CAAC0C,OAAb,CAAqBsO,MAArB,EAA6BE,aAA7B,EAA0C3B,aAA1C;AACD;;SAEDgD,OAAA,gBAAO;AACL,QAAI,KAAK/N,QAAL,CAAc2R,QAAd,IAA0B,KAAK3R,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqP,mBAAjC,CAA1B,IAAmF,CAAC,KAAKuB,KAAL,CAAW9Q,SAAX,CAAqBE,QAArB,CAA8BkM,iBAA9B,CAAxF,EAAwI;AACtI;AACD;;AAED,QAAML,MAAM,GAAG6E,QAAQ,CAACS,oBAAT,CAA8B,KAAK9R,QAAnC,CAAf;AACA,QAAM+K,aAAa,GAAG;AACpBA,MAAAA,aAAa,EAAE,KAAK/K;AADA,KAAtB;AAIA,QAAMoS,SAAS,GAAG5W,YAAY,CAAC0C,OAAb,CAAqBsO,MAArB,EAA6BG,YAA7B,EAAyC5B,aAAzC,CAAlB;;AAEA,QAAIqH,SAAS,CAAC5T,gBAAd,EAAgC;AAC9B;AACD;;AAED,QAAI,KAAK8S,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAae,OAAb;AACD;;AAED,SAAKd,KAAL,CAAW9Q,SAAX,CAAqBgB,MAArB,CAA4BoL,iBAA5B;;AACA,SAAK7M,QAAL,CAAcS,SAAd,CAAwBgB,MAAxB,CAA+BoL,iBAA/B;;AACArR,IAAAA,YAAY,CAAC0C,OAAb,CAAqBsO,MAArB,EAA6BI,cAA7B,EAA2C7B,aAA3C;AACD;;SAEDxK,UAAA,mBAAU;AACRtG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK2F,QAArB,EAA+BX,UAA/B;AACA7D,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKuE,QAAtB,EAAgCV,WAAhC;AACA,SAAKU,QAAL,GAAgB,IAAhB;AACA,SAAKuR,KAAL,GAAa,IAAb;;AACA,QAAI,KAAKD,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAae,OAAb;;AACA,WAAKf,OAAL,GAAe,IAAf;AACD;AACF;;SAEDgB,SAAA,kBAAS;AACP,SAAKb,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;AACA,QAAI,KAAKJ,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAaiB,cAAb;AACD;AACF;;;SAIDhK,qBAAA,8BAAqB;AAAA;;AACnB/M,IAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B6P,WAA/B,EAA4C,UAAAxU,KAAK,EAAI;AACnDA,MAAAA,KAAK,CAAC6D,cAAN;AACA7D,MAAAA,KAAK,CAACmX,eAAN;;AACA,MAAA,KAAI,CAAC/Q,MAAL;AACD,KAJD;AAKD;;SAEDuG,aAAA,oBAAW7Q,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACD,KAAKsb,WAAL,CAAiB7N,OADhB,EAED3C,WAAW,CAACI,iBAAZ,CAA8B,KAAKrC,QAAnC,CAFC,EAGD7I,MAHC,CAAN;AAMAF,IAAAA,eAAe,CAACkI,MAAD,EAAOhI,MAAP,EAAe,KAAKsb,WAAL,CAAiBtN,WAAhC,CAAf;AAEA,WAAOhO,MAAP;AACD;;SAEDqa,kBAAA,2BAAkB;AAChB,WAAOpO,cAAc,CAACkB,IAAf,CAAoB,KAAKtE,QAAzB,EAAmCwQ,aAAnC,EAAkD,CAAlD,CAAP;AACD;;SAEDkC,gBAAA,yBAAgB;AACd,QAAMC,cAAc,GAAG,KAAK3S,QAAL,CAAc9H,UAArC;AACA,QAAI0a,SAAS,GAAG/B,gBAAhB,CAFc;;AAKd,QAAI8B,cAAc,CAAClS,SAAf,CAAyBE,QAAzB,CAAkCsP,iBAAlC,CAAJ,EAA0D;AACxD2C,MAAAA,SAAS,GAAG,KAAKrB,KAAL,CAAW9Q,SAAX,CAAqBE,QAArB,CAA8ByP,oBAA9B,IACVQ,gBADU,GAEVD,aAFF;AAGD,KAJD,MAIO,IAAIgC,cAAc,CAAClS,SAAf,CAAyBE,QAAzB,CAAkCuP,oBAAlC,CAAJ,EAA6D;AAClE0C,MAAAA,SAAS,GAAG7B,eAAZ;AACD,KAFM,MAEA,IAAI4B,cAAc,CAAClS,SAAf,CAAyBE,QAAzB,CAAkCwP,mBAAlC,CAAJ,EAA4D;AACjEyC,MAAAA,SAAS,GAAG5B,cAAZ;AACD,KAFM,MAEA,IAAI,KAAKO,KAAL,CAAW9Q,SAAX,CAAqBE,QAArB,CAA8ByP,oBAA9B,CAAJ,EAAyD;AAC9DwC,MAAAA,SAAS,GAAG9B,mBAAZ;AACD;;AAED,WAAO8B,SAAP;AACD;;SAEDlB,gBAAA,yBAAgB;AACd,WAAOrU,OAAO,CAAC,KAAK2C,QAAL,CAAcQ,OAAd,OAA0B6P,iBAA1B,CAAD,CAAd;AACD;;SAEDwC,aAAA,sBAAa;AAAA;;AACX,QAAMpQ,MAAM,GAAG,EAAf;;AAEA,QAAI,OAAO,KAAKsF,OAAL,CAAatF,MAApB,KAA+B,UAAnC,EAA+C;AAC7CA,MAAAA,MAAM,CAACtH,EAAP,GAAY,UAAAvB,IAAI,EAAI;AAClBA,QAAAA,IAAI,CAACkZ,OAAL,gBACKlZ,IAAI,CAACkZ,OADV,EAEM,MAAI,CAAC/K,OAAL,CAAatF,MAAb,CAAoB7I,IAAI,CAACkZ,OAAzB,EAAkC,MAAI,CAAC9S,QAAvC,KAAoD,EAF1D;AAKA,eAAOpG,IAAP;AACD,OAPD;AAQD,KATD,MASO;AACL6I,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKsF,OAAL,CAAatF,MAA7B;AACD;;AAED,WAAOA,MAAP;AACD;;SAEDyP,mBAAA,4BAAmB;AACjB,QAAMd,YAAY,GAAG;AACnBwB,MAAAA,SAAS,EAAE,KAAKF,aAAL,EADQ;AAEnBK,MAAAA,SAAS,EAAE;AACTtQ,QAAAA,MAAM,EAAE,KAAKoQ,UAAL,EADC;AAET5B,QAAAA,IAAI,EAAE;AACJ+B,UAAAA,OAAO,EAAE,KAAKjL,OAAL,CAAakJ;AADlB,SAFG;AAKTgC,QAAAA,eAAe,EAAE;AACfC,UAAAA,iBAAiB,EAAE,KAAKnL,OAAL,CAAamJ;AADjB;AALR;AAFQ,KAArB,CADiB;;AAejB,QAAI,KAAKnJ,OAAL,CAAa1P,OAAb,KAAyB,QAA7B,EAAuC;AACrC+Y,MAAAA,YAAY,CAAC2B,SAAb,CAAuBI,UAAvB,GAAoC;AAClCH,QAAAA,OAAO,EAAE;AADyB,OAApC;AAGD;;AAED,wBACK5B,YADL,EAEK,KAAKrJ,OAAL,CAAaqJ,YAFlB;AAID;;;WAIMgC,oBAAP,2BAAyBle,OAAzB,EAAkCiC,MAAlC,EAA0C;AACxC,QAAIyC,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAX;;AACA,QAAM0I,OAAO,GAAG,OAAO5Q,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;AAEA,QAAI,CAACyC,IAAL,EAAW;AACTA,MAAAA,IAAI,GAAG,IAAIyX,QAAJ,CAAanc,OAAb,EAAsB6S,OAAtB,CAAP;AACD;;AAED,QAAI,OAAO5Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,UAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,cAAM,IAAIgV,SAAJ,wBAAkChV,MAAlC,QAAN;AACD;;AAEDyC,MAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF;;WAEM2J,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3BsQ,MAAAA,QAAQ,CAAC+B,iBAAT,CAA2B,IAA3B,EAAiCjc,MAAjC;AACD,KAFM,CAAP;AAGD;;WAEM0a,aAAP,oBAAkBxW,KAAlB,EAAyB;AACvB,QAAIA,KAAK,KAAKA,KAAK,CAACsG,MAAN,KAAiBgO,kBAAjB,IACXtU,KAAK,CAACK,IAAN,KAAe,OAAf,IAA0BL,KAAK,CAAC1B,GAAN,KAAc6V,OADlC,CAAT,EACsD;AACpD;AACD;;AAED,QAAM6D,OAAO,GAAGjQ,cAAc,CAACE,IAAf,CAAoB/B,sBAApB,CAAhB;;AAEA,SAAK,IAAIvF,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAG+W,OAAO,CAACpX,MAA9B,EAAsCD,CAAC,GAAGM,GAA1C,EAA+CN,CAAC,EAAhD,EAAoD;AAClD,UAAMwQ,MAAM,GAAG6E,QAAQ,CAACS,oBAAT,CAA8BuB,OAAO,CAACrX,CAAD,CAArC,CAAf;AACA,UAAMsX,OAAO,GAAGrZ,IAAI,CAACG,OAAL,CAAaiZ,OAAO,CAACrX,CAAD,CAApB,EAAyBqD,UAAzB,CAAhB;AACA,UAAM0L,aAAa,GAAG;AACpBA,QAAAA,aAAa,EAAEsI,OAAO,CAACrX,CAAD;AADF,OAAtB;;AAIA,UAAIX,KAAK,IAAIA,KAAK,CAACK,IAAN,KAAe,OAA5B,EAAqC;AACnCqP,QAAAA,aAAa,CAACwI,UAAd,GAA2BlY,KAA3B;AACD;;AAED,UAAI,CAACiY,OAAL,EAAc;AACZ;AACD;;AAED,UAAME,YAAY,GAAGF,OAAO,CAAC/B,KAA7B;;AACA,UAAI,CAAC8B,OAAO,CAACrX,CAAD,CAAP,CAAWyE,SAAX,CAAqBE,QAArB,CAA8BkM,iBAA9B,CAAL,EAAqD;AACnD;AACD;;AAED,UAAIxR,KAAK,KAAMA,KAAK,CAACK,IAAN,KAAe,OAAf,IACX,kBAAkB7D,IAAlB,CAAuBwD,KAAK,CAACU,MAAN,CAAasO,OAApC,CADU,IAEThP,KAAK,CAACK,IAAN,KAAe,OAAf,IAA0BL,KAAK,CAAC1B,GAAN,KAAc6V,OAFpC,CAAL,IAGAgE,YAAY,CAAC7S,QAAb,CAAsBtF,KAAK,CAACU,MAA5B,CAHJ,EAGyC;AACvC;AACD;;AAED,UAAMqW,SAAS,GAAG5W,YAAY,CAAC0C,OAAb,CAAqBsO,MAArB,EAA6BG,YAA7B,EAAyC5B,aAAzC,CAAlB;;AACA,UAAIqH,SAAS,CAAC5T,gBAAd,EAAgC;AAC9B;AACD,OA9BiD;AAiClD;;;AACA,UAAI,kBAAkBzJ,QAAQ,CAACyD,eAA/B,EAAgD;AAAA;;AAC9C,qBAAG+K,MAAH,cAAaxO,QAAQ,CAACmE,IAAT,CAAcyK,QAA3B,EACGpM,OADH,CACW,UAAAiW,IAAI;AAAA,iBAAIhS,YAAY,CAACC,GAAb,CAAiB+R,IAAjB,EAAuB,WAAvB,EAAoC,IAApC,EAA0C3U,IAAI,EAA9C,CAAJ;AAAA,SADf;AAED;;AAEDwa,MAAAA,OAAO,CAACrX,CAAD,CAAP,CAAW0F,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;;AAEA,UAAI4R,OAAO,CAAChC,OAAZ,EAAqB;AACnBgC,QAAAA,OAAO,CAAChC,OAAR,CAAgBe,OAAhB;AACD;;AAEDmB,MAAAA,YAAY,CAAC/S,SAAb,CAAuBC,MAAvB,CAA8BmM,iBAA9B;AACAwG,MAAAA,OAAO,CAACrX,CAAD,CAAP,CAAWyE,SAAX,CAAqBC,MAArB,CAA4BmM,iBAA5B;AACArR,MAAAA,YAAY,CAAC0C,OAAb,CAAqBsO,MAArB,EAA6BI,cAA7B,EAA2C7B,aAA3C;AACD;AACF;;WAEM+G,uBAAP,8BAA4B5c,OAA5B,EAAqC;AACnC,WAAOO,sBAAsB,CAACP,OAAD,CAAtB,IAAmCA,OAAO,CAACgD,UAAlD;AACD;;WAEMub,wBAAP,+BAA6BpY,KAA7B,EAAoC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAI,kBAAkBxD,IAAlB,CAAuBwD,KAAK,CAACU,MAAN,CAAasO,OAApC,IACFhP,KAAK,CAAC1B,GAAN,KAAc4V,SAAd,IAA4BlU,KAAK,CAAC1B,GAAN,KAAc2V,UAAd,KAC1BjU,KAAK,CAAC1B,GAAN,KAAc+V,cAAd,IAAgCrU,KAAK,CAAC1B,GAAN,KAAc8V,YAA/C,IACCpU,KAAK,CAACU,MAAN,CAAayE,OAAb,CAAqBgQ,aAArB,CAF0B,CAD1B,GAIF,CAACZ,cAAc,CAAC/X,IAAf,CAAoBwD,KAAK,CAAC1B,GAA1B,CAJH,EAImC;AACjC;AACD;;AAED0B,IAAAA,KAAK,CAAC6D,cAAN;AACA7D,IAAAA,KAAK,CAACmX,eAAN;;AAEA,QAAI,KAAKb,QAAL,IAAiB,KAAKlR,SAAL,CAAeE,QAAf,CAAwBqP,mBAAxB,CAArB,EAAmE;AACjE;AACD;;AAED,QAAMxD,MAAM,GAAG6E,QAAQ,CAACS,oBAAT,CAA8B,IAA9B,CAAf;AACA,QAAMF,QAAQ,GAAG,KAAKnR,SAAL,CAAeE,QAAf,CAAwBkM,iBAAxB,CAAjB;;AAEA,QAAIxR,KAAK,CAAC1B,GAAN,KAAc2V,UAAlB,EAA8B;AAC5B,UAAM3N,MAAM,GAAG,KAAK0B,OAAL,CAAa9B,sBAAb,IAAqC,IAArC,GAA4C6B,cAAc,CAACe,IAAf,CAAoB,IAApB,EAA0B5C,sBAA1B,EAAgD,CAAhD,CAA3D;AACAI,MAAAA,MAAM,CAACwQ,KAAP;AACAd,MAAAA,QAAQ,CAACQ,UAAT;AACA;AACD;;AAED,QAAI,CAACD,QAAD,IAAavW,KAAK,CAAC1B,GAAN,KAAc4V,SAA/B,EAA0C;AACxC8B,MAAAA,QAAQ,CAACQ,UAAT;AACA;AACD;;AAED,QAAM6B,KAAK,GAAGtQ,cAAc,CAACE,IAAf,CAAoBoN,sBAApB,EAA4ClE,MAA5C,EAAoD5I,MAApD,CAA2D5L,SAA3D,CAAd;;AAEA,QAAI,CAAC0b,KAAK,CAACzX,MAAX,EAAmB;AACjB;AACD;;AAED,QAAIiN,KAAK,GAAGwK,KAAK,CAAC1W,OAAN,CAAc3B,KAAK,CAACU,MAApB,CAAZ;;AAEA,QAAIV,KAAK,CAAC1B,GAAN,KAAc8V,YAAd,IAA8BvG,KAAK,GAAG,CAA1C,EAA6C;AAAE;AAC7CA,MAAAA,KAAK;AACN;;AAED,QAAI7N,KAAK,CAAC1B,GAAN,KAAc+V,cAAd,IAAgCxG,KAAK,GAAGwK,KAAK,CAACzX,MAAN,GAAe,CAA3D,EAA8D;AAAE;AAC9DiN,MAAAA,KAAK;AACN,KApDiC;;;AAuDlCA,IAAAA,KAAK,GAAGA,KAAK,KAAK,CAAC,CAAX,GAAe,CAAf,GAAmBA,KAA3B;AAEAwK,IAAAA,KAAK,CAACxK,KAAD,CAAL,CAAaiJ,KAAb;AACD;;WAEMjR,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;wBA9XoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOwF,SAAP;AACD;;;wBAEwB;AACvB,aAAOO,aAAP;AACD;;;;;AAuXH;AACA;AACA;AACA;AACA;;;AAEA3J,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B+a,sBAA1B,EAAkDvO,sBAAlD,EAAwE8P,QAAQ,CAACoC,qBAAjF;AACAjY,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B+a,sBAA1B,EAAkDU,aAAlD,EAAiEa,QAAQ,CAACoC,qBAA1E;AACAjY,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B4K,sBAA1B,EAAgD0R,QAAQ,CAACQ,UAAzD;AACArW,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0Bgb,oBAA1B,EAAgDsB,QAAQ,CAACQ,UAAzD;AACArW,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B4K,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAUlG,KAAV,EAAiB;AACrFA,EAAAA,KAAK,CAAC6D,cAAN;AACA7D,EAAAA,KAAK,CAACmX,eAAN;AACAnB,EAAAA,QAAQ,CAAC+B,iBAAT,CAA2B,IAA3B,EAAiC,QAAjC;AACD,CAJD;AAKA5X,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B4K,sBAA1B,EAAgD4Q,mBAAhD,EAAqE,UAAApG,CAAC;AAAA,SAAIA,CAAC,CAACqI,eAAF,EAAJ;AAAA,CAAtE;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEApZ,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAakS,QAAQ,CAACvQ,eAAtB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyBiQ,QAAzB;;AACAjT,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAOkQ,QAAQ,CAACvQ,eAAhB;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;AClfA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,OAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,UAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AACA,IAAM+P,YAAU,GAAG,QAAnB;AAEA,IAAM1K,SAAO,GAAG;AACd+O,EAAAA,QAAQ,EAAE,IADI;AAEd7O,EAAAA,QAAQ,EAAE,IAFI;AAGdqN,EAAAA,KAAK,EAAE,IAHO;AAIdnE,EAAAA,IAAI,EAAE;AAJQ,CAAhB;AAOA,IAAM7I,aAAW,GAAG;AAClBwO,EAAAA,QAAQ,EAAE,kBADQ;AAElB7O,EAAAA,QAAQ,EAAE,SAFQ;AAGlBqN,EAAAA,KAAK,EAAE,SAHW;AAIlBnE,EAAAA,IAAI,EAAE;AAJY,CAApB;AAOA,IAAMrB,YAAU,YAAUrN,WAA1B;AACA,IAAMsU,oBAAoB,qBAAmBtU,WAA7C;AACA,IAAMsN,cAAY,cAAYtN,WAA9B;AACA,IAAMmN,YAAU,YAAUnN,WAA1B;AACA,IAAMoN,aAAW,aAAWpN,WAA5B;AACA,IAAMuU,aAAa,eAAavU,WAAhC;AACA,IAAMwU,YAAY,cAAYxU,WAA9B;AACA,IAAMyU,mBAAmB,qBAAmBzU,WAA5C;AACA,IAAM0U,qBAAqB,uBAAqB1U,WAAhD;AACA,IAAM2U,qBAAqB,uBAAqB3U,WAAhD;AACA,IAAM4U,uBAAuB,yBAAuB5U,WAApD;AACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA,IAAM4U,6BAA6B,GAAG,yBAAtC;AACA,IAAMC,mBAAmB,GAAG,gBAA5B;AACA,IAAMC,eAAe,GAAG,YAAxB;AACA,IAAMC,eAAe,GAAG,MAAxB;AACA,IAAMzH,iBAAe,GAAG,MAAxB;AACA,IAAM0H,iBAAiB,GAAG,cAA1B;AAEA,IAAMC,eAAe,GAAG,eAAxB;AACA,IAAMC,mBAAmB,GAAG,aAA5B;AACA,IAAMlT,sBAAoB,GAAG,uBAA7B;AACA,IAAMmT,qBAAqB,GAAG,wBAA9B;AACA,IAAMC,sBAAsB,GAAG,mDAA/B;AACA,IAAMC,uBAAuB,GAAG,aAAhC;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,iBAAY3f,OAAZ,EAAqBiC,MAArB,EAA6B;AAC3B,SAAK4Q,OAAL,GAAe,KAAKC,UAAL,CAAgB7Q,MAAhB,CAAf;AACA,SAAK6I,QAAL,GAAgB9K,OAAhB;AACA,SAAK4f,OAAL,GAAe1R,cAAc,CAACM,OAAf,CAAuB8Q,eAAvB,EAAwCtf,OAAxC,CAAf;AACA,SAAK6f,SAAL,GAAiB,IAAjB;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKC,kBAAL,GAA0B,KAA1B;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA,SAAK7H,gBAAL,GAAwB,KAAxB;AACA,SAAK8H,eAAL,GAAuB,CAAvB;AACAlb,IAAAA,IAAI,CAACC,OAAL,CAAahF,OAAb,EAAsBmK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAYD;SAEAoC,SAAA,gBAAOsJ,aAAP,EAAsB;AACpB,WAAO,KAAKiK,QAAL,GAAgB,KAAKjH,IAAL,EAAhB,GAA8B,KAAKC,IAAL,CAAUjD,aAAV,CAArC;AACD;;SAEDiD,OAAA,cAAKjD,aAAL,EAAoB;AAAA;;AAClB,QAAI,KAAKiK,QAAL,IAAiB,KAAK3H,gBAA1B,EAA4C;AAC1C;AACD;;AAED,QAAI,KAAKrN,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC2T,eAAjC,CAAJ,EAAuD;AACrD,WAAKjH,gBAAL,GAAwB,IAAxB;AACD;;AAED,QAAM0E,SAAS,GAAGvW,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoCyM,YAApC,EAAgD;AAChE1B,MAAAA,aAAa,EAAbA;AADgE,KAAhD,CAAlB;;AAIA,QAAI,KAAKiK,QAAL,IAAiBjD,SAAS,CAACvT,gBAA/B,EAAiD;AAC/C;AACD;;AAED,SAAKwW,QAAL,GAAgB,IAAhB;;AAEA,SAAKI,eAAL;;AACA,SAAKC,aAAL;;AAEA,SAAKC,aAAL;;AAEA,SAAKC,eAAL;;AACA,SAAKC,eAAL;;AAEAha,IAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EACE+T,mBADF,EAEEW,qBAFF,EAGE,UAAArZ,KAAK;AAAA,aAAI,KAAI,CAAC0S,IAAL,CAAU1S,KAAV,CAAJ;AAAA,KAHP;AAMAG,IAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKoX,OAArB,EAA8BZ,uBAA9B,EAAuD,YAAM;AAC3D1Y,MAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAI,CAACqC,QAAtB,EAAgCiU,qBAAhC,EAAuD,UAAA5Y,KAAK,EAAI;AAC9D,YAAIA,KAAK,CAACU,MAAN,KAAiB,KAAI,CAACiE,QAA1B,EAAoC;AAClC,UAAA,KAAI,CAACkV,oBAAL,GAA4B,IAA5B;AACD;AACF,OAJD;AAKD,KAND;;AAQA,SAAKO,aAAL,CAAmB;AAAA,aAAM,KAAI,CAACC,YAAL,CAAkB3K,aAAlB,CAAN;AAAA,KAAnB;AACD;;SAEDgD,OAAA,cAAK1S,KAAL,EAAY;AAAA;;AACV,QAAIA,KAAJ,EAAW;AACTA,MAAAA,KAAK,CAAC6D,cAAN;AACD;;AAED,QAAI,CAAC,KAAK8V,QAAN,IAAkB,KAAK3H,gBAA3B,EAA6C;AAC3C;AACD;;AAED,QAAM+E,SAAS,GAAG5W,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC2M,YAApC,CAAlB;;AAEA,QAAIyF,SAAS,CAAC5T,gBAAd,EAAgC;AAC9B;AACD;;AAED,SAAKwW,QAAL,GAAgB,KAAhB;;AACA,QAAMW,UAAU,GAAG,KAAK3V,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC2T,eAAjC,CAAnB;;AAEA,QAAIqB,UAAJ,EAAgB;AACd,WAAKtI,gBAAL,GAAwB,IAAxB;AACD;;AAED,SAAKkI,eAAL;;AACA,SAAKC,eAAL;;AAEAha,IAAAA,YAAY,CAACC,GAAb,CAAiB1G,QAAjB,EAA2B8e,aAA3B;;AAEA,SAAK7T,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BmM,iBAA/B;;AAEArR,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKuE,QAAtB,EAAgC+T,mBAAhC;AACAvY,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKqZ,OAAtB,EAA+BZ,uBAA/B;;AAEA,QAAIyB,UAAJ,EAAgB;AACd,UAAM9f,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKsK,QAAN,CAA3D;AAEAxE,MAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgC9L,cAAhC,EAAgD,UAAAmH,KAAK;AAAA,eAAI,MAAI,CAACua,UAAL,CAAgBva,KAAhB,CAAJ;AAAA,OAArD;AACA7E,MAAAA,oBAAoB,CAAC,KAAKwJ,QAAN,EAAgBnK,kBAAhB,CAApB;AACD,KALD,MAKO;AACL,WAAK+f,UAAL;AACD;AACF;;SAEDrV,UAAA,mBAAU;AACR,KAAC5K,MAAD,EAAS,KAAKqK,QAAd,EAAwB,KAAK8U,OAA7B,EACGvd,OADH,CACW,UAAAse,WAAW;AAAA,aAAIra,YAAY,CAACC,GAAb,CAAiBoa,WAAjB,EAA8BvW,WAA9B,CAAJ;AAAA,KADtB;AAGA;AACJ;AACA;AACA;AACA;;AACI9D,IAAAA,YAAY,CAACC,GAAb,CAAiB1G,QAAjB,EAA2B8e,aAA3B;AAEA5Z,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK2F,QAArB,EAA+BX,UAA/B;AAEA,SAAK0I,OAAL,GAAe,IAAf;AACA,SAAK/H,QAAL,GAAgB,IAAhB;AACA,SAAK8U,OAAL,GAAe,IAAf;AACA,SAAKC,SAAL,GAAiB,IAAjB;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA,SAAKC,oBAAL,GAA4B,IAA5B;AACA,SAAK7H,gBAAL,GAAwB,IAAxB;AACA,SAAK8H,eAAL,GAAuB,IAAvB;AACD;;SAEDW,eAAA,wBAAe;AACb,SAAKR,aAAL;AACD;;;SAIDtN,aAAA,oBAAW7Q,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACDyN,SADC,EAEDzN,MAFC,CAAN;AAIAF,IAAAA,eAAe,CAACkI,MAAD,EAAOhI,MAAP,EAAegO,aAAf,CAAf;AACA,WAAOhO,MAAP;AACD;;SAEDue,eAAA,sBAAa3K,aAAb,EAA4B;AAAA;;AAC1B,QAAM4K,UAAU,GAAG,KAAK3V,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC2T,eAAjC,CAAnB;;AACA,QAAMyB,SAAS,GAAG3S,cAAc,CAACM,OAAf,CAAuB+Q,mBAAvB,EAA4C,KAAKK,OAAjD,CAAlB;;AAEA,QAAI,CAAC,KAAK9U,QAAL,CAAc9H,UAAf,IACA,KAAK8H,QAAL,CAAc9H,UAAd,CAAyB3B,QAAzB,KAAsCyN,IAAI,CAACC,YAD/C,EAC6D;AAC3D;AACAlP,MAAAA,QAAQ,CAACmE,IAAT,CAAc8c,WAAd,CAA0B,KAAKhW,QAA/B;AACD;;AAED,SAAKA,QAAL,CAAc/H,KAAd,CAAoBI,OAApB,GAA8B,OAA9B;;AACA,SAAK2H,QAAL,CAAcoC,eAAd,CAA8B,aAA9B;;AACA,SAAKpC,QAAL,CAAc0B,YAAd,CAA2B,YAA3B,EAAyC,IAAzC;;AACA,SAAK1B,QAAL,CAAc0B,YAAd,CAA2B,MAA3B,EAAmC,QAAnC;;AACA,SAAK1B,QAAL,CAAc6C,SAAd,GAA0B,CAA1B;;AAEA,QAAIkT,SAAJ,EAAe;AACbA,MAAAA,SAAS,CAAClT,SAAV,GAAsB,CAAtB;AACD;;AAED,QAAI8S,UAAJ,EAAgB;AACd7c,MAAAA,MAAM,CAAC,KAAKkH,QAAN,CAAN;AACD;;AAED,SAAKA,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4ByC,iBAA5B;;AAEA,QAAI,KAAK9E,OAAL,CAAaoK,KAAjB,EAAwB;AACtB,WAAK8D,aAAL;AACD;;AAED,QAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/B,UAAI,MAAI,CAACnO,OAAL,CAAaoK,KAAjB,EAAwB;AACtB,QAAA,MAAI,CAACnS,QAAL,CAAcmS,KAAd;AACD;;AAED,MAAA,MAAI,CAAC9E,gBAAL,GAAwB,KAAxB;AACA7R,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoC0M,aAApC,EAAiD;AAC/C3B,QAAAA,aAAa,EAAbA;AAD+C,OAAjD;AAGD,KATD;;AAWA,QAAI4K,UAAJ,EAAgB;AACd,UAAM9f,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKof,OAAN,CAA3D;AAEAtZ,MAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKmX,OAAtB,EAA+B5gB,cAA/B,EAA+CgiB,kBAA/C;AACA1f,MAAAA,oBAAoB,CAAC,KAAKse,OAAN,EAAejf,kBAAf,CAApB;AACD,KALD,MAKO;AACLqgB,MAAAA,kBAAkB;AACnB;AACF;;SAEDD,gBAAA,yBAAgB;AAAA;;AACdza,IAAAA,YAAY,CAACC,GAAb,CAAiB1G,QAAjB,EAA2B8e,aAA3B,EADc;;AAEdrY,IAAAA,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B8e,aAA1B,EAAyC,UAAAxY,KAAK,EAAI;AAChD,UAAItG,QAAQ,KAAKsG,KAAK,CAACU,MAAnB,IACA,MAAI,CAACiE,QAAL,KAAkB3E,KAAK,CAACU,MADxB,IAEA,CAAC,MAAI,CAACiE,QAAL,CAAcW,QAAd,CAAuBtF,KAAK,CAACU,MAA7B,CAFL,EAE2C;AACzC,QAAA,MAAI,CAACiE,QAAL,CAAcmS,KAAd;AACD;AACF,KAND;AAOD;;SAEDoD,kBAAA,2BAAkB;AAAA;;AAChB,QAAI,KAAKP,QAAT,EAAmB;AACjBxZ,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+BgU,qBAA/B,EAAsD,UAAA3Y,KAAK,EAAI;AAC7D,YAAI,MAAI,CAAC0M,OAAL,CAAajD,QAAb,IAAyBzJ,KAAK,CAAC1B,GAAN,KAAc2V,YAA3C,EAAuD;AACrDjU,UAAAA,KAAK,CAAC6D,cAAN;;AACA,UAAA,MAAI,CAAC6O,IAAL;AACD,SAHD,MAGO,IAAI,CAAC,MAAI,CAAChG,OAAL,CAAajD,QAAd,IAA0BzJ,KAAK,CAAC1B,GAAN,KAAc2V,YAA5C,EAAwD;AAC7D,UAAA,MAAI,CAAC6G,0BAAL;AACD;AACF,OAPD;AAQD,KATD,MASO;AACL3a,MAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKuE,QAAtB,EAAgCgU,qBAAhC;AACD;AACF;;SAEDwB,kBAAA,2BAAkB;AAAA;;AAChB,QAAI,KAAKR,QAAT,EAAmB;AACjBxZ,MAAAA,YAAY,CAACkC,EAAb,CAAgB/H,MAAhB,EAAwBme,YAAxB,EAAsC;AAAA,eAAM,MAAI,CAACwB,aAAL,EAAN;AAAA,OAAtC;AACD,KAFD,MAEO;AACL9Z,MAAAA,YAAY,CAACC,GAAb,CAAiB9F,MAAjB,EAAyBme,YAAzB;AACD;AACF;;SAED8B,aAAA,sBAAa;AAAA;;AACX,SAAK5V,QAAL,CAAc/H,KAAd,CAAoBI,OAApB,GAA8B,MAA9B;;AACA,SAAK2H,QAAL,CAAc0B,YAAd,CAA2B,aAA3B,EAA0C,IAA1C;;AACA,SAAK1B,QAAL,CAAcoC,eAAd,CAA8B,YAA9B;;AACA,SAAKpC,QAAL,CAAcoC,eAAd,CAA8B,MAA9B;;AACA,SAAKiL,gBAAL,GAAwB,KAAxB;;AACA,SAAKoI,aAAL,CAAmB,YAAM;AACvB1gB,MAAAA,QAAQ,CAACmE,IAAT,CAAcuH,SAAd,CAAwBC,MAAxB,CAA+B2T,eAA/B;;AACA,MAAA,MAAI,CAAC+B,iBAAL;;AACA,MAAA,MAAI,CAACC,eAAL;;AACA7a,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoC4M,cAApC;AACD,KALD;AAMD;;SAED0J,kBAAA,2BAAkB;AAChB,SAAKvB,SAAL,CAAe7c,UAAf,CAA0B2I,WAA1B,CAAsC,KAAKkU,SAA3C;;AACA,SAAKA,SAAL,GAAiB,IAAjB;AACD;;SAEDU,gBAAA,uBAAcpc,QAAd,EAAwB;AAAA;;AACtB,QAAMkd,OAAO,GAAG,KAAKvW,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC2T,eAAjC,IACdA,eADc,GAEd,EAFF;;AAIA,QAAI,KAAKU,QAAL,IAAiB,KAAKjN,OAAL,CAAa4L,QAAlC,EAA4C;AAC1C,WAAKoB,SAAL,GAAiBhgB,QAAQ,CAACyhB,aAAT,CAAuB,KAAvB,CAAjB;AACA,WAAKzB,SAAL,CAAe0B,SAAf,GAA2BrC,mBAA3B;;AAEA,UAAImC,OAAJ,EAAa;AACX,aAAKxB,SAAL,CAAetU,SAAf,CAAyB2J,GAAzB,CAA6BmM,OAA7B;AACD;;AAEDxhB,MAAAA,QAAQ,CAACmE,IAAT,CAAc8c,WAAd,CAA0B,KAAKjB,SAA/B;AAEAvZ,MAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B+T,mBAA/B,EAAoD,UAAA1Y,KAAK,EAAI;AAC3D,YAAI,MAAI,CAAC6Z,oBAAT,EAA+B;AAC7B,UAAA,MAAI,CAACA,oBAAL,GAA4B,KAA5B;AACA;AACD;;AAED,YAAI7Z,KAAK,CAACU,MAAN,KAAiBV,KAAK,CAACqb,aAA3B,EAA0C;AACxC;AACD;;AAED,QAAA,MAAI,CAACP,0BAAL;AACD,OAXD;;AAaA,UAAII,OAAJ,EAAa;AACXzd,QAAAA,MAAM,CAAC,KAAKic,SAAN,CAAN;AACD;;AAED,WAAKA,SAAL,CAAetU,SAAf,CAAyB2J,GAAzB,CAA6ByC,iBAA7B;;AAEA,UAAI,CAAC0J,OAAL,EAAc;AACZld,QAAAA,QAAQ;AACR;AACD;;AAED,UAAMsd,0BAA0B,GAAGjhB,gCAAgC,CAAC,KAAKqf,SAAN,CAAnE;AAEAvZ,MAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKoX,SAAtB,EAAiC7gB,cAAjC,EAAiDmF,QAAjD;AACA7C,MAAAA,oBAAoB,CAAC,KAAKue,SAAN,EAAiB4B,0BAAjB,CAApB;AACD,KAtCD,MAsCO,IAAI,CAAC,KAAK3B,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;AAC3C,WAAKA,SAAL,CAAetU,SAAf,CAAyBC,MAAzB,CAAgCmM,iBAAhC;;AAEA,UAAM+J,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAA,MAAI,CAACN,eAAL;;AACAjd,QAAAA,QAAQ;AACT,OAHD;;AAKA,UAAI,KAAK2G,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC2T,eAAjC,CAAJ,EAAuD;AACrD,YAAMqC,2BAA0B,GAAGjhB,gCAAgC,CAAC,KAAKqf,SAAN,CAAnE;;AACAvZ,QAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKoX,SAAtB,EAAiC7gB,cAAjC,EAAiD0iB,cAAjD;AACApgB,QAAAA,oBAAoB,CAAC,KAAKue,SAAN,EAAiB4B,2BAAjB,CAApB;AACD,OAJD,MAIO;AACLC,QAAAA,cAAc;AACf;AACF,KAfM,MAeA;AACLvd,MAAAA,QAAQ;AACT;AACF;;SAED8c,6BAAA,sCAA6B;AAAA;;AAC3B,QAAI,KAAKpO,OAAL,CAAa4L,QAAb,KAA0B,QAA9B,EAAwC;AACtC,UAAMvB,SAAS,GAAG5W,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC4T,oBAApC,CAAlB;;AACA,UAAIxB,SAAS,CAAC5T,gBAAd,EAAgC;AAC9B;AACD;;AAED,UAAMqY,kBAAkB,GAAG,KAAK7W,QAAL,CAAc8W,YAAd,GAA6B/hB,QAAQ,CAACyD,eAAT,CAAyBue,YAAjF;;AAEA,UAAI,CAACF,kBAAL,EAAyB;AACvB,aAAK7W,QAAL,CAAc/H,KAAd,CAAoB+e,SAApB,GAAgC,QAAhC;AACD;;AAED,WAAKhX,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4BmK,iBAA5B;;AACA,UAAM0C,uBAAuB,GAAGvhB,gCAAgC,CAAC,KAAKof,OAAN,CAAhE;AACAtZ,MAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKuE,QAAtB,EAAgC9L,cAAhC;AACAsH,MAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgC9L,cAAhC,EAAgD,YAAM;AACpD,QAAA,MAAI,CAAC8L,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B6T,iBAA/B;;AACA,YAAI,CAACsC,kBAAL,EAAyB;AACvBrb,UAAAA,YAAY,CAACmC,GAAb,CAAiB,MAAI,CAACqC,QAAtB,EAAgC9L,cAAhC,EAAgD,YAAM;AACpD,YAAA,MAAI,CAAC8L,QAAL,CAAc/H,KAAd,CAAoB+e,SAApB,GAAgC,EAAhC;AACD,WAFD;AAGAxgB,UAAAA,oBAAoB,CAAC,MAAI,CAACwJ,QAAN,EAAgBiX,uBAAhB,CAApB;AACD;AACF,OARD;AASAzgB,MAAAA,oBAAoB,CAAC,KAAKwJ,QAAN,EAAgBiX,uBAAhB,CAApB;;AACA,WAAKjX,QAAL,CAAcmS,KAAd;AACD,KA1BD,MA0BO;AACL,WAAKpE,IAAL;AACD;AACF;AAGD;AACA;;;SAEAuH,gBAAA,yBAAgB;AACd,QAAMuB,kBAAkB,GACtB,KAAK7W,QAAL,CAAc8W,YAAd,GAA6B/hB,QAAQ,CAACyD,eAAT,CAAyBue,YADxD;;AAGA,QAAI,CAAC,KAAK9B,kBAAN,IAA4B4B,kBAAhC,EAAoD;AAClD,WAAK7W,QAAL,CAAc/H,KAAd,CAAoBif,WAApB,GAAqC,KAAK/B,eAA1C;AACD;;AAED,QAAI,KAAKF,kBAAL,IAA2B,CAAC4B,kBAAhC,EAAoD;AAClD,WAAK7W,QAAL,CAAc/H,KAAd,CAAoBkf,YAApB,GAAsC,KAAKhC,eAA3C;AACD;AACF;;SAEDiB,oBAAA,6BAAoB;AAClB,SAAKpW,QAAL,CAAc/H,KAAd,CAAoBif,WAApB,GAAkC,EAAlC;AACA,SAAKlX,QAAL,CAAc/H,KAAd,CAAoBkf,YAApB,GAAmC,EAAnC;AACD;;SAED/B,kBAAA,2BAAkB;AAChB,QAAM1S,IAAI,GAAG3N,QAAQ,CAACmE,IAAT,CAAcyJ,qBAAd,EAAb;AACA,SAAKsS,kBAAL,GAA0BrgB,IAAI,CAACwiB,KAAL,CAAW1U,IAAI,CAACI,IAAL,GAAYJ,IAAI,CAAC2U,KAA5B,IAAqC1hB,MAAM,CAAC2hB,UAAtE;AACA,SAAKnC,eAAL,GAAuB,KAAKoC,kBAAL,EAAvB;AACD;;SAEDlC,gBAAA,yBAAgB;AAAA;;AACd,QAAI,KAAKJ,kBAAT,EAA6B;AAC3B;AACA;AAEA;AACA7R,MAAAA,cAAc,CAACE,IAAf,CAAoBqR,sBAApB,EACGpd,OADH,CACW,UAAArC,OAAO,EAAI;AAClB,YAAMsiB,aAAa,GAAGtiB,OAAO,CAAC+C,KAAR,CAAckf,YAApC;AACA,YAAMM,iBAAiB,GAAG9hB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,eAAjC,CAA1B;AACA+M,QAAAA,WAAW,CAACC,gBAAZ,CAA6BhN,OAA7B,EAAsC,eAAtC,EAAuDsiB,aAAvD;AACAtiB,QAAAA,OAAO,CAAC+C,KAAR,CAAckf,YAAd,GAAgCnhB,UAAU,CAACyhB,iBAAD,CAAV,GAAgC,OAAI,CAACtC,eAArE;AACD,OANH,EAL2B;;AAc3B/R,MAAAA,cAAc,CAACE,IAAf,CAAoBsR,uBAApB,EACGrd,OADH,CACW,UAAArC,OAAO,EAAI;AAClB,YAAMwiB,YAAY,GAAGxiB,OAAO,CAAC+C,KAAR,CAAc0f,WAAnC;AACA,YAAMC,gBAAgB,GAAGjiB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,cAAjC,CAAzB;AACA+M,QAAAA,WAAW,CAACC,gBAAZ,CAA6BhN,OAA7B,EAAsC,cAAtC,EAAsDwiB,YAAtD;AACAxiB,QAAAA,OAAO,CAAC+C,KAAR,CAAc0f,WAAd,GAA+B3hB,UAAU,CAAC4hB,gBAAD,CAAV,GAA+B,OAAI,CAACzC,eAAnE;AACD,OANH,EAd2B;;AAuB3B,UAAMqC,aAAa,GAAGziB,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBkf,YAA1C;AACA,UAAMM,iBAAiB,GAAG9hB,MAAM,CAACC,gBAAP,CAAwBb,QAAQ,CAACmE,IAAjC,EAAuC,eAAvC,CAA1B;AAEA+I,MAAAA,WAAW,CAACC,gBAAZ,CAA6BnN,QAAQ,CAACmE,IAAtC,EAA4C,eAA5C,EAA6Dse,aAA7D;AACAziB,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBkf,YAApB,GAAsCnhB,UAAU,CAACyhB,iBAAD,CAAV,GAAgC,KAAKtC,eAA3E;AACD;;AAEDpgB,IAAAA,QAAQ,CAACmE,IAAT,CAAcuH,SAAd,CAAwB2J,GAAxB,CAA4BiK,eAA5B;AACD;;SAEDgC,kBAAA,2BAAkB;AAChB;AACAjT,IAAAA,cAAc,CAACE,IAAf,CAAoBqR,sBAApB,EACGpd,OADH,CACW,UAAArC,OAAO,EAAI;AAClB,UAAM2iB,OAAO,GAAG5V,WAAW,CAACO,gBAAZ,CAA6BtN,OAA7B,EAAsC,eAAtC,CAAhB;;AACA,UAAI,OAAO2iB,OAAP,KAAmB,WAAvB,EAAoC;AAClC5V,QAAAA,WAAW,CAACE,mBAAZ,CAAgCjN,OAAhC,EAAyC,eAAzC;AACAA,QAAAA,OAAO,CAAC+C,KAAR,CAAckf,YAAd,GAA6BU,OAA7B;AACD;AACF,KAPH,EAFgB;;AAYhBzU,IAAAA,cAAc,CAACE,IAAf,MAAuBsR,uBAAvB,EACGrd,OADH,CACW,UAAArC,OAAO,EAAI;AAClB,UAAM4iB,MAAM,GAAG7V,WAAW,CAACO,gBAAZ,CAA6BtN,OAA7B,EAAsC,cAAtC,CAAf;;AACA,UAAI,OAAO4iB,MAAP,KAAkB,WAAtB,EAAmC;AACjC7V,QAAAA,WAAW,CAACE,mBAAZ,CAAgCjN,OAAhC,EAAyC,cAAzC;AACAA,QAAAA,OAAO,CAAC+C,KAAR,CAAc0f,WAAd,GAA4BG,MAA5B;AACD;AACF,KAPH,EAZgB;;AAsBhB,QAAMD,OAAO,GAAG5V,WAAW,CAACO,gBAAZ,CAA6BzN,QAAQ,CAACmE,IAAtC,EAA4C,eAA5C,CAAhB;;AACA,QAAI,OAAO2e,OAAP,KAAmB,WAAvB,EAAoC;AAClC9iB,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBkf,YAApB,GAAmC,EAAnC;AACD,KAFD,MAEO;AACLlV,MAAAA,WAAW,CAACE,mBAAZ,CAAgCpN,QAAQ,CAACmE,IAAzC,EAA+C,eAA/C;AACAnE,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBkf,YAApB,GAAmCU,OAAnC;AACD;AACF;;SAEDN,qBAAA,8BAAqB;AAAE;AACrB,QAAMQ,SAAS,GAAGhjB,QAAQ,CAACyhB,aAAT,CAAuB,KAAvB,CAAlB;AACAuB,IAAAA,SAAS,CAACtB,SAAV,GAAsBtC,6BAAtB;AACApf,IAAAA,QAAQ,CAACmE,IAAT,CAAc8c,WAAd,CAA0B+B,SAA1B;AACA,QAAMC,cAAc,GAAGD,SAAS,CAACpV,qBAAV,GAAkCsV,KAAlC,GAA0CF,SAAS,CAACG,WAA3E;AACAnjB,IAAAA,QAAQ,CAACmE,IAAT,CAAc2H,WAAd,CAA0BkX,SAA1B;AACA,WAAOC,cAAP;AACD;;;QAIMlX,kBAAP,yBAAuB3J,MAAvB,EAA+B4T,aAA/B,EAA8C;AAC5C,WAAO,KAAKhK,IAAL,CAAU,YAAY;AAC3B,UAAInH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBiF,UAAnB,CAAX;;AACA,UAAM0I,OAAO,gBACRnD,SADQ,EAER3C,WAAW,CAACI,iBAAZ,CAA8B,IAA9B,CAFQ,EAGP,OAAOlL,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHzC,CAAb;;AAMA,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAIib,KAAJ,CAAU,IAAV,EAAgB9M,OAAhB,CAAP;AACD;;AAED,UAAI,OAAO5Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIgV,SAAJ,wBAAkChV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ,CAAa4T,aAAb;AACD,OAND,MAMO,IAAIhD,OAAO,CAACiG,IAAZ,EAAkB;AACvBpU,QAAAA,IAAI,CAACoU,IAAL,CAAUjD,aAAV;AACD;AACF,KArBM,CAAP;AAsBD;;QAEM7J,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;wBArdoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOwF,SAAP;AACD;;;;;AAkdH;AACA;AACA;AACA;AACA;;;AAEApJ,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B4K,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAUlG,KAAV,EAAiB;AAAA;;AACrF,MAAMU,MAAM,GAAGtG,sBAAsB,CAAC,IAAD,CAArC;;AAEA,MAAI,KAAK4U,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;AACnDhP,IAAAA,KAAK,CAAC6D,cAAN;AACD;;AAED1D,EAAAA,YAAY,CAACmC,GAAb,CAAiB5B,MAAjB,EAAyB0Q,YAAzB,EAAqC,UAAAsF,SAAS,EAAI;AAChD,QAAIA,SAAS,CAACvT,gBAAd,EAAgC;AAC9B;AACA;AACD;;AAEDhD,IAAAA,YAAY,CAACmC,GAAb,CAAiB5B,MAAjB,EAAyB6Q,cAAzB,EAAuC,YAAM;AAC3C,UAAI5U,SAAS,CAAC,OAAD,CAAb,EAAqB;AACnB,QAAA,OAAI,CAACma,KAAL;AACD;AACF,KAJD;AAKD,GAXD;AAaA,MAAIvY,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa2B,MAAb,EAAqBsD,UAArB,CAAX;;AACA,MAAI,CAACzF,IAAL,EAAW;AACT,QAAMzC,MAAM,gBACP8K,WAAW,CAACI,iBAAZ,CAA8BtG,MAA9B,CADO,EAEPkG,WAAW,CAACI,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;AAKAzI,IAAAA,IAAI,GAAG,IAAIib,KAAJ,CAAU9Y,MAAV,EAAkB5E,MAAlB,CAAP;AACD;;AAEDyC,EAAAA,IAAI,CAACoU,IAAL,CAAU,IAAV;AACD,CA/BD;AAiCA;AACA;AACA;AACA;AACA;AACA;;AAEA5U,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAa0V,KAAK,CAAC/T,eAAnB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyByT,KAAzB;;AACAzW,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAO0T,KAAK,CAAC/T,eAAb;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACzmBA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMqX,QAAQ,GAAG,CACf,YADe,EAEf,MAFe,EAGf,MAHe,EAIf,UAJe,EAKf,UALe,EAMf,QANe,EAOf,KAPe,EAQf,YARe,CAAjB;AAWA,IAAMC,sBAAsB,GAAG,gBAA/B;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAMC,gBAAgB,GAAG,6DAAzB;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAMC,gBAAgB,GAAG,oIAAzB;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,IAAD,EAAOC,oBAAP,EAAgC;AACvD,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAL,CAAclkB,WAAd,EAAjB;;AAEA,MAAIgkB,oBAAoB,CAACzb,OAArB,CAA6B0b,QAA7B,MAA2C,CAAC,CAAhD,EAAmD;AACjD,QAAIP,QAAQ,CAACnb,OAAT,CAAiB0b,QAAjB,MAA+B,CAAC,CAApC,EAAuC;AACrC,aAAOrb,OAAO,CAACmb,IAAI,CAACI,SAAL,CAAepkB,KAAf,CAAqB6jB,gBAArB,KAA0CG,IAAI,CAACI,SAAL,CAAepkB,KAAf,CAAqB8jB,gBAArB,CAA3C,CAAd;AACD;;AAED,WAAO,IAAP;AACD;;AAED,MAAMO,MAAM,GAAGJ,oBAAoB,CAAC7U,MAArB,CAA4B,UAAAkV,SAAS;AAAA,WAAIA,SAAS,YAAYlhB,MAAzB;AAAA,GAArC,CAAf,CAXuD;;AAcvD,OAAK,IAAIoE,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGuc,MAAM,CAAC5c,MAA7B,EAAqCD,CAAC,GAAGM,GAAzC,EAA8CN,CAAC,EAA/C,EAAmD;AACjD,QAAI0c,QAAQ,CAAClkB,KAAT,CAAeqkB,MAAM,CAAC7c,CAAD,CAArB,CAAJ,EAA+B;AAC7B,aAAO,IAAP;AACD;AACF;;AAED,SAAO,KAAP;AACD,CArBD;;AAuBO,IAAM+c,gBAAgB,GAAG;AAC9B;AACA,OAAK,CAAC,OAAD,EAAU,KAAV,EAAiB,IAAjB,EAAuB,MAAvB,EAA+B,MAA/B,EAAuCX,sBAAvC,CAFyB;AAG9BY,EAAAA,CAAC,EAAE,CAAC,QAAD,EAAW,MAAX,EAAmB,OAAnB,EAA4B,KAA5B,CAH2B;AAI9BC,EAAAA,IAAI,EAAE,EAJwB;AAK9BC,EAAAA,CAAC,EAAE,EAL2B;AAM9BC,EAAAA,EAAE,EAAE,EAN0B;AAO9BC,EAAAA,GAAG,EAAE,EAPyB;AAQ9BC,EAAAA,IAAI,EAAE,EARwB;AAS9BC,EAAAA,GAAG,EAAE,EATyB;AAU9BC,EAAAA,EAAE,EAAE,EAV0B;AAW9BC,EAAAA,EAAE,EAAE,EAX0B;AAY9BC,EAAAA,EAAE,EAAE,EAZ0B;AAa9BC,EAAAA,EAAE,EAAE,EAb0B;AAc9BC,EAAAA,EAAE,EAAE,EAd0B;AAe9BC,EAAAA,EAAE,EAAE,EAf0B;AAgB9BC,EAAAA,EAAE,EAAE,EAhB0B;AAiB9BC,EAAAA,EAAE,EAAE,EAjB0B;AAkB9B9d,EAAAA,CAAC,EAAE,EAlB2B;AAmB9B+d,EAAAA,GAAG,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,KAAlB,EAAyB,OAAzB,EAAkC,OAAlC,EAA2C,QAA3C,CAnByB;AAoB9BC,EAAAA,EAAE,EAAE,EApB0B;AAqB9BC,EAAAA,EAAE,EAAE,EArB0B;AAsB9BC,EAAAA,CAAC,EAAE,EAtB2B;AAuB9BC,EAAAA,GAAG,EAAE,EAvByB;AAwB9BC,EAAAA,CAAC,EAAE,EAxB2B;AAyB9BC,EAAAA,KAAK,EAAE,EAzBuB;AA0B9BC,EAAAA,IAAI,EAAE,EA1BwB;AA2B9BC,EAAAA,GAAG,EAAE,EA3ByB;AA4B9BC,EAAAA,GAAG,EAAE,EA5ByB;AA6B9BC,EAAAA,MAAM,EAAE,EA7BsB;AA8B9BC,EAAAA,CAAC,EAAE,EA9B2B;AA+B9BC,EAAAA,EAAE,EAAE;AA/B0B,CAAzB;AAkCA,SAASC,YAAT,CAAsBC,UAAtB,EAAkCC,SAAlC,EAA6CC,UAA7C,EAAyD;AAAA;;AAC9D,MAAI,CAACF,UAAU,CAAC5e,MAAhB,EAAwB;AACtB,WAAO4e,UAAP;AACD;;AAED,MAAIE,UAAU,IAAI,OAAOA,UAAP,KAAsB,UAAxC,EAAoD;AAClD,WAAOA,UAAU,CAACF,UAAD,CAAjB;AACD;;AAED,MAAMG,SAAS,GAAG,IAAIrlB,MAAM,CAACslB,SAAX,EAAlB;AACA,MAAMC,eAAe,GAAGF,SAAS,CAACG,eAAV,CAA0BN,UAA1B,EAAsC,WAAtC,CAAxB;AACA,MAAMO,aAAa,GAAG/jB,MAAM,CAACC,IAAP,CAAYwjB,SAAZ,CAAtB;;AACA,MAAMO,QAAQ,GAAG,YAAG9X,MAAH,aAAa2X,eAAe,CAAChiB,IAAhB,CAAqB4C,gBAArB,CAAsC,GAAtC,CAAb,CAAjB;;AAZ8D,6BAcrDE,CAdqD,EAc9CM,GAd8C;AAAA;;AAe5D,QAAMgf,EAAE,GAAGD,QAAQ,CAACrf,CAAD,CAAnB;AACA,QAAMuf,MAAM,GAAGD,EAAE,CAAC3C,QAAH,CAAYlkB,WAAZ,EAAf;;AAEA,QAAI2mB,aAAa,CAACpe,OAAd,CAAsBue,MAAtB,MAAkC,CAAC,CAAvC,EAA0C;AACxCD,MAAAA,EAAE,CAACpjB,UAAH,CAAc2I,WAAd,CAA0Bya,EAA1B;AAEA;AACD;;AAED,QAAME,aAAa,GAAG,aAAGjY,MAAH,cAAa+X,EAAE,CAAChZ,UAAhB,CAAtB;;AACA,QAAMmZ,iBAAiB,GAAG,GAAGlY,MAAH,CAAUuX,SAAS,CAAC,GAAD,CAAT,IAAkB,EAA5B,EAAgCA,SAAS,CAACS,MAAD,CAAT,IAAqB,EAArD,CAA1B;AAEAC,IAAAA,aAAa,CAACjkB,OAAd,CAAsB,UAAAihB,IAAI,EAAI;AAC5B,UAAI,CAACD,gBAAgB,CAACC,IAAD,EAAOiD,iBAAP,CAArB,EAAgD;AAC9CH,QAAAA,EAAE,CAAClZ,eAAH,CAAmBoW,IAAI,CAACG,QAAxB;AACD;AACF,KAJD;AA3B4D;;AAc9D,OAAK,IAAI3c,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAG+e,QAAQ,CAACpf,MAA/B,EAAuCD,CAAC,GAAGM,GAA3C,EAAgDN,CAAC,EAAjD,EAAqD;AAAA,qBAA5CA,CAA4C;;AAAA,6BAOjD;AAWH;;AAED,SAAOkf,eAAe,CAAChiB,IAAhB,CAAqBwiB,SAA5B;AACD;;ACjGD;AACA;AACA;AACA;AACA;;AAEA,IAAMvc,MAAI,GAAG,SAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,YAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAMsc,YAAY,GAAG,YAArB;AACA,IAAMC,kBAAkB,GAAG,IAAIhkB,MAAJ,aAAqB+jB,YAArB,WAAyC,GAAzC,CAA3B;AACA,IAAME,qBAAqB,GAAG,CAAC,UAAD,EAAa,WAAb,EAA0B,YAA1B,CAA9B;AAEA,IAAM1W,aAAW,GAAG;AAClB2W,EAAAA,SAAS,EAAE,SADO;AAElBC,EAAAA,QAAQ,EAAE,QAFQ;AAGlBC,EAAAA,KAAK,EAAE,2BAHW;AAIlB9d,EAAAA,OAAO,EAAE,QAJS;AAKlB+d,EAAAA,KAAK,EAAE,iBALW;AAMlBC,EAAAA,IAAI,EAAE,SANY;AAOlB/mB,EAAAA,QAAQ,EAAE,kBAPQ;AAQlByd,EAAAA,SAAS,EAAE,mBARO;AASlBnQ,EAAAA,MAAM,EAAE,0BATU;AAUlB0L,EAAAA,SAAS,EAAE,0BAVO;AAWlBgO,EAAAA,iBAAiB,EAAE,gBAXD;AAYlBjL,EAAAA,QAAQ,EAAE,kBAZQ;AAalBkL,EAAAA,QAAQ,EAAE,SAbQ;AAclBrB,EAAAA,UAAU,EAAE,iBAdM;AAelBD,EAAAA,SAAS,EAAE,QAfO;AAgBlB1J,EAAAA,YAAY,EAAE;AAhBI,CAApB;AAmBA,IAAMiL,aAAa,GAAG;AACpBC,EAAAA,IAAI,EAAE,MADc;AAEpBC,EAAAA,GAAG,EAAE,KAFe;AAGpBC,EAAAA,KAAK,EAAE,OAHa;AAIpBC,EAAAA,MAAM,EAAE,QAJY;AAKpBC,EAAAA,IAAI,EAAE;AALc,CAAtB;AAQA,IAAM9X,SAAO,GAAG;AACdkX,EAAAA,SAAS,EAAE,IADG;AAEdC,EAAAA,QAAQ,EAAE,yCACQ,mCADR,GAEQ,yCAJJ;AAKd7d,EAAAA,OAAO,EAAE,aALK;AAMd8d,EAAAA,KAAK,EAAE,EANO;AAOdC,EAAAA,KAAK,EAAE,CAPO;AAQdC,EAAAA,IAAI,EAAE,KARQ;AASd/mB,EAAAA,QAAQ,EAAE,KATI;AAUdyd,EAAAA,SAAS,EAAE,KAVG;AAWdnQ,EAAAA,MAAM,EAAE,CAXM;AAYd0L,EAAAA,SAAS,EAAE,KAZG;AAadgO,EAAAA,iBAAiB,EAAE,MAbL;AAcdjL,EAAAA,QAAQ,EAAE,cAdI;AAedkL,EAAAA,QAAQ,EAAE,IAfI;AAgBdrB,EAAAA,UAAU,EAAE,IAhBE;AAiBdD,EAAAA,SAAS,EAAE/B,gBAjBG;AAkBd3H,EAAAA,YAAY,EAAE;AAlBA,CAAhB;AAqBA,IAAM/a,OAAK,GAAG;AACZsmB,EAAAA,IAAI,WAASrd,WADD;AAEZsd,EAAAA,MAAM,aAAWtd,WAFL;AAGZud,EAAAA,IAAI,WAASvd,WAHD;AAIZwd,EAAAA,KAAK,YAAUxd,WAJH;AAKZyd,EAAAA,QAAQ,eAAazd,WALT;AAMZ0d,EAAAA,KAAK,YAAU1d,WANH;AAOZ2d,EAAAA,OAAO,cAAY3d,WAPP;AAQZ4d,EAAAA,QAAQ,eAAa5d,WART;AASZ6d,EAAAA,UAAU,iBAAe7d,WATb;AAUZ8d,EAAAA,UAAU,iBAAe9d;AAVb,CAAd;AAaA,IAAMgV,iBAAe,GAAG,MAAxB;AACA,IAAM+I,gBAAgB,GAAG,OAAzB;AACA,IAAMxQ,iBAAe,GAAG,MAAxB;AAEA,IAAMyQ,gBAAgB,GAAG,MAAzB;AACA,IAAMC,eAAe,GAAG,KAAxB;AAEA,IAAMC,sBAAsB,GAAG,gBAA/B;AAEA,IAAMC,aAAa,GAAG,OAAtB;AACA,IAAMC,aAAa,GAAG,OAAtB;AACA,IAAMC,aAAa,GAAG,OAAtB;AACA,IAAMC,cAAc,GAAG,QAAvB;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,mBAAY3oB,OAAZ,EAAqBiC,MAArB,EAA6B;AAC3B,QAAI,OAAO6a,MAAP,KAAkB,WAAtB,EAAmC;AACjC,YAAM,IAAI7F,SAAJ,CAAc,iEAAd,CAAN;AACD,KAH0B;;;AAM3B,SAAK2R,UAAL,GAAkB,IAAlB;AACA,SAAKC,QAAL,GAAgB,CAAhB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA,SAAK3M,OAAL,GAAe,IAAf,CAV2B;;AAa3B,SAAKpc,OAAL,GAAeA,OAAf;AACA,SAAKiC,MAAL,GAAc,KAAK6Q,UAAL,CAAgB7Q,MAAhB,CAAd;AACA,SAAK+mB,GAAL,GAAW,IAAX;;AAEA,SAAKC,aAAL;;AACAlkB,IAAAA,IAAI,CAACC,OAAL,CAAahF,OAAb,EAAsB,KAAKud,WAAL,CAAiBpT,QAAvC,EAAiD,IAAjD;AACD;;;;;AAgCD;SAEA+e,SAAA,kBAAS;AACP,SAAKN,UAAL,GAAkB,IAAlB;AACD;;SAEDO,UAAA,mBAAU;AACR,SAAKP,UAAL,GAAkB,KAAlB;AACD;;SAEDQ,gBAAA,yBAAgB;AACd,SAAKR,UAAL,GAAkB,CAAC,KAAKA,UAAxB;AACD;;SAEDrc,SAAA,gBAAOpG,KAAP,EAAc;AACZ,QAAI,CAAC,KAAKyiB,UAAV,EAAsB;AACpB;AACD;;AAED,QAAIziB,KAAJ,EAAW;AACT,UAAMkjB,OAAO,GAAG,KAAK9L,WAAL,CAAiBpT,QAAjC;AACA,UAAIiU,OAAO,GAAGrZ,IAAI,CAACG,OAAL,CAAaiB,KAAK,CAACC,cAAnB,EAAmCijB,OAAnC,CAAd;;AAEA,UAAI,CAACjL,OAAL,EAAc;AACZA,QAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACRpX,KAAK,CAACC,cADE,EAER,KAAKkjB,kBAAL,EAFQ,CAAV;AAIAvkB,QAAAA,IAAI,CAACC,OAAL,CAAamB,KAAK,CAACC,cAAnB,EAAmCijB,OAAnC,EAA4CjL,OAA5C;AACD;;AAEDA,MAAAA,OAAO,CAAC2K,cAAR,CAAuBQ,KAAvB,GAA+B,CAACnL,OAAO,CAAC2K,cAAR,CAAuBQ,KAAvD;;AAEA,UAAInL,OAAO,CAACoL,oBAAR,EAAJ,EAAoC;AAClCpL,QAAAA,OAAO,CAACqL,MAAR,CAAe,IAAf,EAAqBrL,OAArB;AACD,OAFD,MAEO;AACLA,QAAAA,OAAO,CAACsL,MAAR,CAAe,IAAf,EAAqBtL,OAArB;AACD;AACF,KAnBD,MAmBO;AACL,UAAI,KAAKuL,aAAL,GAAqBpe,SAArB,CAA+BE,QAA/B,CAAwCkM,iBAAxC,CAAJ,EAA8D;AAC5D,aAAK+R,MAAL,CAAY,IAAZ,EAAkB,IAAlB;;AACA;AACD;;AAED,WAAKD,MAAL,CAAY,IAAZ,EAAkB,IAAlB;AACD;AACF;;SAEDpe,UAAA,mBAAU;AACR0J,IAAAA,YAAY,CAAC,KAAK8T,QAAN,CAAZ;AAEA9jB,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKnF,OAArB,EAA8B,KAAKud,WAAL,CAAiBpT,QAA/C;AAEA7D,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKvG,OAAtB,EAA+B,KAAKud,WAAL,CAAiBnT,SAAhD;AACA9D,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKvG,OAAL,CAAasL,OAAb,OAAyB6c,gBAAzB,CAAjB,EAA+D,eAA/D,EAAgF,KAAKyB,iBAArF;;AAEA,QAAI,KAAKZ,GAAT,EAAc;AACZ,WAAKA,GAAL,CAAShmB,UAAT,CAAoB2I,WAApB,CAAgC,KAAKqd,GAArC;AACD;;AAED,SAAKJ,UAAL,GAAkB,IAAlB;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA,SAAKC,WAAL,GAAmB,IAAnB;AACA,SAAKC,cAAL,GAAsB,IAAtB;;AACA,QAAI,KAAK3M,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAae,OAAb;AACD;;AAED,SAAKf,OAAL,GAAe,IAAf;AACA,SAAKpc,OAAL,GAAe,IAAf;AACA,SAAKiC,MAAL,GAAc,IAAd;AACA,SAAK+mB,GAAL,GAAW,IAAX;AACD;;SAEDlQ,OAAA,gBAAO;AAAA;;AACL,QAAI,KAAK9Y,OAAL,CAAa+C,KAAb,CAAmBI,OAAnB,KAA+B,MAAnC,EAA2C;AACzC,YAAM,IAAIP,KAAJ,CAAU,qCAAV,CAAN;AACD;;AAED,QAAI,KAAKinB,aAAL,MAAwB,KAAKjB,UAAjC,EAA6C;AAC3C,UAAM/L,SAAS,GAAGvW,YAAY,CAAC0C,OAAb,CAAqB,KAAKhJ,OAA1B,EAAmC,KAAKud,WAAL,CAAiBpc,KAAjB,CAAuBwmB,IAA1D,CAAlB;AACA,UAAMmC,UAAU,GAAGzmB,cAAc,CAAC,KAAKrD,OAAN,CAAjC;AACA,UAAM+pB,UAAU,GAAGD,UAAU,KAAK,IAAf,GACjB,KAAK9pB,OAAL,CAAagqB,aAAb,CAA2B1mB,eAA3B,CAA2CmI,QAA3C,CAAoD,KAAKzL,OAAzD,CADiB,GAEjB8pB,UAAU,CAACre,QAAX,CAAoB,KAAKzL,OAAzB,CAFF;;AAIA,UAAI6c,SAAS,CAACvT,gBAAV,IAA8B,CAACygB,UAAnC,EAA+C;AAC7C;AACD;;AAED,UAAMf,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,UAAMM,KAAK,GAAGzqB,MAAM,CAAC,KAAK+d,WAAL,CAAiBtT,IAAlB,CAApB;AAEA+e,MAAAA,GAAG,CAACxc,YAAJ,CAAiB,IAAjB,EAAuByd,KAAvB;AACA,WAAKjqB,OAAL,CAAawM,YAAb,CAA0B,kBAA1B,EAA8Cyd,KAA9C;AAEA,WAAKC,UAAL;;AAEA,UAAI,KAAKjoB,MAAL,CAAY2kB,SAAhB,EAA2B;AACzBoC,QAAAA,GAAG,CAACzd,SAAJ,CAAc2J,GAAd,CAAkBkK,iBAAlB;AACD;;AAED,UAAM1B,SAAS,GAAG,OAAO,KAAKzb,MAAL,CAAYyb,SAAnB,KAAiC,UAAjC,GAChB,KAAKzb,MAAL,CAAYyb,SAAZ,CAAsBre,IAAtB,CAA2B,IAA3B,EAAiC2pB,GAAjC,EAAsC,KAAKhpB,OAA3C,CADgB,GAEhB,KAAKiC,MAAL,CAAYyb,SAFd;;AAIA,UAAMyM,UAAU,GAAG,KAAKC,cAAL,CAAoB1M,SAApB,CAAnB;;AACA,WAAK2M,mBAAL,CAAyBF,UAAzB;;AAEA,UAAMlR,SAAS,GAAG,KAAKqR,aAAL,EAAlB;;AACAvlB,MAAAA,IAAI,CAACC,OAAL,CAAagkB,GAAb,EAAkB,KAAKzL,WAAL,CAAiBpT,QAAnC,EAA6C,IAA7C;;AAEA,UAAI,CAAC,KAAKnK,OAAL,CAAagqB,aAAb,CAA2B1mB,eAA3B,CAA2CmI,QAA3C,CAAoD,KAAKud,GAAzD,CAAL,EAAoE;AAClE/P,QAAAA,SAAS,CAAC6H,WAAV,CAAsBkI,GAAtB;AACD;;AAED1iB,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,KAAKhJ,OAA1B,EAAmC,KAAKud,WAAL,CAAiBpc,KAAjB,CAAuB0mB,QAA1D;AAEA,WAAKzL,OAAL,GAAe,IAAIU,MAAJ,CAAW,KAAK9c,OAAhB,EAAyBgpB,GAAzB,EAA8B,KAAKhM,gBAAL,CAAsBmN,UAAtB,CAA9B,CAAf;AAEAnB,MAAAA,GAAG,CAACzd,SAAJ,CAAc2J,GAAd,CAAkByC,iBAAlB,EAzC2C;AA4C3C;AACA;AACA;;AACA,UAAI,kBAAkB9X,QAAQ,CAACyD,eAA/B,EAAgD;AAAA;;AAC9C,oBAAG+K,MAAH,aAAaxO,QAAQ,CAACmE,IAAT,CAAcyK,QAA3B,EAAqCpM,OAArC,CAA6C,UAAArC,OAAO,EAAI;AACtDsG,UAAAA,YAAY,CAACkC,EAAb,CAAgBxI,OAAhB,EAAyB,WAAzB,EAAsC2D,IAAI,EAA1C;AACD,SAFD;AAGD;;AAED,UAAM8V,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,YAAI,KAAI,CAACxX,MAAL,CAAY2kB,SAAhB,EAA2B;AACzB,UAAA,KAAI,CAAC2D,cAAL;AACD;;AAED,YAAMC,cAAc,GAAG,KAAI,CAAC1B,WAA5B;AACA,QAAA,KAAI,CAACA,WAAL,GAAmB,IAAnB;AAEAxiB,QAAAA,YAAY,CAAC0C,OAAb,CAAqB,KAAI,CAAChJ,OAA1B,EAAmC,KAAI,CAACud,WAAL,CAAiBpc,KAAjB,CAAuBymB,KAA1D;;AAEA,YAAI4C,cAAc,KAAKnC,eAAvB,EAAwC;AACtC,UAAA,KAAI,CAACqB,MAAL,CAAY,IAAZ,EAAkB,KAAlB;AACD;AACF,OAbD;;AAeA,UAAI,KAAKV,GAAL,CAASzd,SAAT,CAAmBE,QAAnB,CAA4B2T,iBAA5B,CAAJ,EAAkD;AAChD,YAAMze,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKwoB,GAAN,CAA3D;AACA1iB,QAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKugB,GAAtB,EAA2BhqB,cAA3B,EAA2Cya,QAA3C;AACAnY,QAAAA,oBAAoB,CAAC,KAAK0nB,GAAN,EAAWroB,kBAAX,CAApB;AACD,OAJD,MAIO;AACL8Y,QAAAA,QAAQ;AACT;AACF;AACF;;SAEDZ,OAAA,gBAAO;AAAA;;AACL,QAAI,CAAC,KAAKuD,OAAV,EAAmB;AACjB;AACD;;AAED,QAAM4M,GAAG,GAAG,KAAKW,aAAL,EAAZ;;AACA,QAAMlQ,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,UAAI,MAAI,CAACqP,WAAL,KAAqBV,gBAArB,IAAyCY,GAAG,CAAChmB,UAAjD,EAA6D;AAC3DgmB,QAAAA,GAAG,CAAChmB,UAAJ,CAAe2I,WAAf,CAA2Bqd,GAA3B;AACD;;AAED,MAAA,MAAI,CAACyB,cAAL;;AACA,MAAA,MAAI,CAACzqB,OAAL,CAAakN,eAAb,CAA6B,kBAA7B;;AACA5G,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,MAAI,CAAChJ,OAA1B,EAAmC,MAAI,CAACud,WAAL,CAAiBpc,KAAjB,CAAuBumB,MAA1D;;AACA,MAAA,MAAI,CAACtL,OAAL,CAAae,OAAb;AACD,KATD;;AAWA,QAAMD,SAAS,GAAG5W,YAAY,CAAC0C,OAAb,CAAqB,KAAKhJ,OAA1B,EAAmC,KAAKud,WAAL,CAAiBpc,KAAjB,CAAuBsmB,IAA1D,CAAlB;;AACA,QAAIvK,SAAS,CAAC5T,gBAAd,EAAgC;AAC9B;AACD;;AAED0f,IAAAA,GAAG,CAACzd,SAAJ,CAAcC,MAAd,CAAqBmM,iBAArB,EAtBK;AAyBL;;AACA,QAAI,kBAAkB9X,QAAQ,CAACyD,eAA/B,EAAgD;AAAA;;AAC9C,mBAAG+K,MAAH,cAAaxO,QAAQ,CAACmE,IAAT,CAAcyK,QAA3B,EACGpM,OADH,CACW,UAAArC,OAAO;AAAA,eAAIsG,YAAY,CAACC,GAAb,CAAiBvG,OAAjB,EAA0B,WAA1B,EAAuC2D,IAAvC,CAAJ;AAAA,OADlB;AAED;;AAED,SAAKolB,cAAL,CAAoBN,aAApB,IAAqC,KAArC;AACA,SAAKM,cAAL,CAAoBP,aAApB,IAAqC,KAArC;AACA,SAAKO,cAAL,CAAoBR,aAApB,IAAqC,KAArC;;AAEA,QAAI,KAAKS,GAAL,CAASzd,SAAT,CAAmBE,QAAnB,CAA4B2T,iBAA5B,CAAJ,EAAkD;AAChD,UAAMze,kBAAkB,GAAGH,gCAAgC,CAACwoB,GAAD,CAA3D;AAEA1iB,MAAAA,YAAY,CAACmC,GAAb,CAAiBugB,GAAjB,EAAsBhqB,cAAtB,EAAsCya,QAAtC;AACAnY,MAAAA,oBAAoB,CAAC0nB,GAAD,EAAMroB,kBAAN,CAApB;AACD,KALD,MAKO;AACL8Y,MAAAA,QAAQ;AACT;;AAED,SAAKqP,WAAL,GAAmB,EAAnB;AACD;;SAED1L,SAAA,kBAAS;AACP,QAAI,KAAKhB,OAAL,KAAiB,IAArB,EAA2B;AACzB,WAAKA,OAAL,CAAaiB,cAAb;AACD;AACF;;;SAIDwM,gBAAA,yBAAgB;AACd,WAAO1hB,OAAO,CAAC,KAAKuiB,QAAL,EAAD,CAAd;AACD;;SAEDf,gBAAA,yBAAgB;AACd,QAAI,KAAKX,GAAT,EAAc;AACZ,aAAO,KAAKA,GAAZ;AACD;;AAED,QAAMhpB,OAAO,GAAGH,QAAQ,CAACyhB,aAAT,CAAuB,KAAvB,CAAhB;AACAthB,IAAAA,OAAO,CAACwmB,SAAR,GAAoB,KAAKvkB,MAAL,CAAY4kB,QAAhC;AAEA,SAAKmC,GAAL,GAAWhpB,OAAO,CAACyO,QAAR,CAAiB,CAAjB,CAAX;AACA,WAAO,KAAKua,GAAZ;AACD;;SAEDkB,aAAA,sBAAa;AACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,SAAKgB,iBAAL,CAAuBzc,cAAc,CAACM,OAAf,CAAuB8Z,sBAAvB,EAA+CU,GAA/C,CAAvB,EAA4E,KAAK0B,QAAL,EAA5E;AACA1B,IAAAA,GAAG,CAACzd,SAAJ,CAAcC,MAAd,CAAqB4T,iBAArB,EAAsCzH,iBAAtC;AACD;;SAEDgT,oBAAA,2BAAkB3qB,OAAlB,EAA2B4qB,OAA3B,EAAoC;AAClC,QAAI5qB,OAAO,KAAK,IAAhB,EAAsB;AACpB;AACD;;AAED,QAAI,OAAO4qB,OAAP,KAAmB,QAAnB,IAA+BxpB,SAAS,CAACwpB,OAAD,CAA5C,EAAuD;AACrD,UAAIA,OAAO,CAAC9Q,MAAZ,EAAoB;AAClB8Q,QAAAA,OAAO,GAAGA,OAAO,CAAC,CAAD,CAAjB;AACD,OAHoD;;;AAMrD,UAAI,KAAK3oB,MAAL,CAAY+kB,IAAhB,EAAsB;AACpB,YAAI4D,OAAO,CAAC5nB,UAAR,KAAuBhD,OAA3B,EAAoC;AAClCA,UAAAA,OAAO,CAACwmB,SAAR,GAAoB,EAApB;AACAxmB,UAAAA,OAAO,CAAC8gB,WAAR,CAAoB8J,OAApB;AACD;AACF,OALD,MAKO;AACL5qB,QAAAA,OAAO,CAAC6qB,WAAR,GAAsBD,OAAO,CAACC,WAA9B;AACD;;AAED;AACD;;AAED,QAAI,KAAK5oB,MAAL,CAAY+kB,IAAhB,EAAsB;AACpB,UAAI,KAAK/kB,MAAL,CAAYilB,QAAhB,EAA0B;AACxB0D,QAAAA,OAAO,GAAGlF,YAAY,CAACkF,OAAD,EAAU,KAAK3oB,MAAL,CAAY2jB,SAAtB,EAAiC,KAAK3jB,MAAL,CAAY4jB,UAA7C,CAAtB;AACD;;AAED7lB,MAAAA,OAAO,CAACwmB,SAAR,GAAoBoE,OAApB;AACD,KAND,MAMO;AACL5qB,MAAAA,OAAO,CAAC6qB,WAAR,GAAsBD,OAAtB;AACD;AACF;;SAEDF,WAAA,oBAAW;AACT,QAAI5D,KAAK,GAAG,KAAK9mB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAZ;;AAEA,QAAI,CAAC4mB,KAAL,EAAY;AACVA,MAAAA,KAAK,GAAG,OAAO,KAAK7kB,MAAL,CAAY6kB,KAAnB,KAA6B,UAA7B,GACN,KAAK7kB,MAAL,CAAY6kB,KAAZ,CAAkBznB,IAAlB,CAAuB,KAAKW,OAA5B,CADM,GAEN,KAAKiC,MAAL,CAAY6kB,KAFd;AAGD;;AAED,WAAOA,KAAP;AACD;;;SAID9J,mBAAA,0BAAiBmN,UAAjB,EAA6B;AAAA;;AAC3B,QAAMW,eAAe,GAAG;AACtBpN,MAAAA,SAAS,EAAEyM,UADW;AAEtBtM,MAAAA,SAAS,EAAE;AACTtQ,QAAAA,MAAM,EAAE,KAAKoQ,UAAL,EADC;AAET5B,QAAAA,IAAI,EAAE;AACJgP,UAAAA,QAAQ,EAAE,KAAK9oB,MAAL,CAAYglB;AADlB,SAFG;AAKT+D,QAAAA,KAAK,EAAE;AACLhrB,UAAAA,OAAO,QAAM,KAAKud,WAAL,CAAiBtT,IAAvB;AADF,SALE;AAQT8T,QAAAA,eAAe,EAAE;AACfC,UAAAA,iBAAiB,EAAE,KAAK/b,MAAL,CAAY+Z;AADhB;AARR,OAFW;AActBiP,MAAAA,QAAQ,EAAE,kBAAAvmB,IAAI,EAAI;AAChB,YAAIA,IAAI,CAACwmB,iBAAL,KAA2BxmB,IAAI,CAACgZ,SAApC,EAA+C;AAC7C,UAAA,MAAI,CAACyN,4BAAL,CAAkCzmB,IAAlC;AACD;AACF,OAlBqB;AAmBtB0mB,MAAAA,QAAQ,EAAE,kBAAA1mB,IAAI;AAAA,eAAI,MAAI,CAACymB,4BAAL,CAAkCzmB,IAAlC,CAAJ;AAAA;AAnBQ,KAAxB;AAsBA,wBACKomB,eADL,EAEK,KAAK7oB,MAAL,CAAYia,YAFjB;AAID;;SAEDmO,sBAAA,6BAAoBF,UAApB,EAAgC;AAC9B,SAAKR,aAAL,GAAqBpe,SAArB,CAA+B2J,GAA/B,CAAsCuR,YAAtC,SAAsD0D,UAAtD;AACD;;SAEDxM,aAAA,sBAAa;AAAA;;AACX,QAAMpQ,MAAM,GAAG,EAAf;;AAEA,QAAI,OAAO,KAAKtL,MAAL,CAAYsL,MAAnB,KAA8B,UAAlC,EAA8C;AAC5CA,MAAAA,MAAM,CAACtH,EAAP,GAAY,UAAAvB,IAAI,EAAI;AAClBA,QAAAA,IAAI,CAACkZ,OAAL,gBACKlZ,IAAI,CAACkZ,OADV,EAEM,MAAI,CAAC3b,MAAL,CAAYsL,MAAZ,CAAmB7I,IAAI,CAACkZ,OAAxB,EAAiC,MAAI,CAAC5d,OAAtC,KAAkD,EAFxD;AAKA,eAAO0E,IAAP;AACD,OAPD;AAQD,KATD,MASO;AACL6I,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKtL,MAAL,CAAYsL,MAA5B;AACD;;AAED,WAAOA,MAAP;AACD;;SAED+c,gBAAA,yBAAgB;AACd,QAAI,KAAKroB,MAAL,CAAYgX,SAAZ,KAA0B,KAA9B,EAAqC;AACnC,aAAOpZ,QAAQ,CAACmE,IAAhB;AACD;;AAED,QAAI5C,SAAS,CAAC,KAAKa,MAAL,CAAYgX,SAAb,CAAb,EAAsC;AACpC,aAAO,KAAKhX,MAAL,CAAYgX,SAAnB;AACD;;AAED,WAAO/K,cAAc,CAACM,OAAf,CAAuB,KAAKvM,MAAL,CAAYgX,SAAnC,CAAP;AACD;;SAEDmR,iBAAA,wBAAe1M,SAAf,EAA0B;AACxB,WAAOyJ,aAAa,CAACzJ,SAAS,CAAC7a,WAAV,EAAD,CAApB;AACD;;SAEDomB,gBAAA,yBAAgB;AAAA;;AACd,QAAMoC,QAAQ,GAAG,KAAKppB,MAAL,CAAY+G,OAAZ,CAAoBhI,KAApB,CAA0B,GAA1B,CAAjB;AAEAqqB,IAAAA,QAAQ,CAAChpB,OAAT,CAAiB,UAAA2G,OAAO,EAAI;AAC1B,UAAIA,OAAO,KAAK,OAAhB,EAAyB;AACvB1C,QAAAA,YAAY,CAACkC,EAAb,CAAgB,MAAI,CAACxI,OAArB,EACE,MAAI,CAACud,WAAL,CAAiBpc,KAAjB,CAAuB2mB,KADzB,EAEE,MAAI,CAAC7lB,MAAL,CAAYhC,QAFd,EAGE,UAAAkG,KAAK;AAAA,iBAAI,MAAI,CAACoG,MAAL,CAAYpG,KAAZ,CAAJ;AAAA,SAHP;AAKD,OAND,MAMO,IAAI6C,OAAO,KAAK0f,cAAhB,EAAgC;AACrC,YAAM4C,OAAO,GAAGtiB,OAAO,KAAKuf,aAAZ,GACd,MAAI,CAAChL,WAAL,CAAiBpc,KAAjB,CAAuB8mB,UADT,GAEd,MAAI,CAAC1K,WAAL,CAAiBpc,KAAjB,CAAuB4mB,OAFzB;AAGA,YAAMwD,QAAQ,GAAGviB,OAAO,KAAKuf,aAAZ,GACf,MAAI,CAAChL,WAAL,CAAiBpc,KAAjB,CAAuB+mB,UADR,GAEf,MAAI,CAAC3K,WAAL,CAAiBpc,KAAjB,CAAuB6mB,QAFzB;AAIA1hB,QAAAA,YAAY,CAACkC,EAAb,CAAgB,MAAI,CAACxI,OAArB,EACEsrB,OADF,EAEE,MAAI,CAACrpB,MAAL,CAAYhC,QAFd,EAGE,UAAAkG,KAAK;AAAA,iBAAI,MAAI,CAACsjB,MAAL,CAAYtjB,KAAZ,CAAJ;AAAA,SAHP;AAKAG,QAAAA,YAAY,CAACkC,EAAb,CAAgB,MAAI,CAACxI,OAArB,EACEurB,QADF,EAEE,MAAI,CAACtpB,MAAL,CAAYhC,QAFd,EAGE,UAAAkG,KAAK;AAAA,iBAAI,MAAI,CAACujB,MAAL,CAAYvjB,KAAZ,CAAJ;AAAA,SAHP;AAKD;AACF,KA1BD;;AA4BA,SAAKyjB,iBAAL,GAAyB,YAAM;AAC7B,UAAI,MAAI,CAAC5pB,OAAT,EAAkB;AAChB,QAAA,MAAI,CAAC6Y,IAAL;AACD;AACF,KAJD;;AAMAvS,IAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKxI,OAAL,CAAasL,OAAb,OAAyB6c,gBAAzB,CAAhB,EACE,eADF,EAEE,KAAKyB,iBAFP;;AAKA,QAAI,KAAK3nB,MAAL,CAAYhC,QAAhB,EAA0B;AACxB,WAAKgC,MAAL,gBACK,KAAKA,MADV;AAEE+G,QAAAA,OAAO,EAAE,QAFX;AAGE/I,QAAAA,QAAQ,EAAE;AAHZ;AAKD,KAND,MAMO;AACL,WAAKurB,SAAL;AACD;AACF;;SAEDA,YAAA,qBAAY;AACV,QAAMC,SAAS,GAAG,OAAO,KAAKzrB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAzB;;AAEA,QAAI,KAAKF,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsCurB,SAAS,KAAK,QAAxD,EAAkE;AAChE,WAAKzrB,OAAL,CAAawM,YAAb,CACE,qBADF,EAEE,KAAKxM,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsC,EAFxC;AAKA,WAAKF,OAAL,CAAawM,YAAb,CAA0B,OAA1B,EAAmC,EAAnC;AACD;AACF;;SAEDid,SAAA,gBAAOtjB,KAAP,EAAciY,OAAd,EAAuB;AACrB,QAAMiL,OAAO,GAAG,KAAK9L,WAAL,CAAiBpT,QAAjC;AACAiU,IAAAA,OAAO,GAAGA,OAAO,IAAIrZ,IAAI,CAACG,OAAL,CAAaiB,KAAK,CAACC,cAAnB,EAAmCijB,OAAnC,CAArB;;AAEA,QAAI,CAACjL,OAAL,EAAc;AACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACRpX,KAAK,CAACC,cADE,EAER,KAAKkjB,kBAAL,EAFQ,CAAV;AAIAvkB,MAAAA,IAAI,CAACC,OAAL,CAAamB,KAAK,CAACC,cAAnB,EAAmCijB,OAAnC,EAA4CjL,OAA5C;AACD;;AAED,QAAIjY,KAAJ,EAAW;AACTiY,MAAAA,OAAO,CAAC2K,cAAR,CACE5iB,KAAK,CAACK,IAAN,KAAe,SAAf,GAA2BgiB,aAA3B,GAA2CD,aAD7C,IAEI,IAFJ;AAGD;;AAED,QAAInK,OAAO,CAACuL,aAAR,GAAwBpe,SAAxB,CAAkCE,QAAlC,CAA2CkM,iBAA3C,KACAyG,OAAO,CAAC0K,WAAR,KAAwBV,gBAD5B,EAC8C;AAC5ChK,MAAAA,OAAO,CAAC0K,WAAR,GAAsBV,gBAAtB;AACA;AACD;;AAEDrT,IAAAA,YAAY,CAACqJ,OAAO,CAACyK,QAAT,CAAZ;AAEAzK,IAAAA,OAAO,CAAC0K,WAAR,GAAsBV,gBAAtB;;AAEA,QAAI,CAAChK,OAAO,CAACnc,MAAR,CAAe8kB,KAAhB,IAAyB,CAAC3I,OAAO,CAACnc,MAAR,CAAe8kB,KAAf,CAAqBjO,IAAnD,EAAyD;AACvDsF,MAAAA,OAAO,CAACtF,IAAR;AACA;AACD;;AAEDsF,IAAAA,OAAO,CAACyK,QAAR,GAAmB/mB,UAAU,CAAC,YAAM;AAClC,UAAIsc,OAAO,CAAC0K,WAAR,KAAwBV,gBAA5B,EAA8C;AAC5ChK,QAAAA,OAAO,CAACtF,IAAR;AACD;AACF,KAJ4B,EAI1BsF,OAAO,CAACnc,MAAR,CAAe8kB,KAAf,CAAqBjO,IAJK,CAA7B;AAKD;;SAED4Q,SAAA,gBAAOvjB,KAAP,EAAciY,OAAd,EAAuB;AACrB,QAAMiL,OAAO,GAAG,KAAK9L,WAAL,CAAiBpT,QAAjC;AACAiU,IAAAA,OAAO,GAAGA,OAAO,IAAIrZ,IAAI,CAACG,OAAL,CAAaiB,KAAK,CAACC,cAAnB,EAAmCijB,OAAnC,CAArB;;AAEA,QAAI,CAACjL,OAAL,EAAc;AACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACRpX,KAAK,CAACC,cADE,EAER,KAAKkjB,kBAAL,EAFQ,CAAV;AAIAvkB,MAAAA,IAAI,CAACC,OAAL,CAAamB,KAAK,CAACC,cAAnB,EAAmCijB,OAAnC,EAA4CjL,OAA5C;AACD;;AAED,QAAIjY,KAAJ,EAAW;AACTiY,MAAAA,OAAO,CAAC2K,cAAR,CACE5iB,KAAK,CAACK,IAAN,KAAe,UAAf,GAA4BgiB,aAA5B,GAA4CD,aAD9C,IAEI,KAFJ;AAGD;;AAED,QAAInK,OAAO,CAACoL,oBAAR,EAAJ,EAAoC;AAClC;AACD;;AAEDzU,IAAAA,YAAY,CAACqJ,OAAO,CAACyK,QAAT,CAAZ;AAEAzK,IAAAA,OAAO,CAAC0K,WAAR,GAAsBT,eAAtB;;AAEA,QAAI,CAACjK,OAAO,CAACnc,MAAR,CAAe8kB,KAAhB,IAAyB,CAAC3I,OAAO,CAACnc,MAAR,CAAe8kB,KAAf,CAAqBlO,IAAnD,EAAyD;AACvDuF,MAAAA,OAAO,CAACvF,IAAR;AACA;AACD;;AAEDuF,IAAAA,OAAO,CAACyK,QAAR,GAAmB/mB,UAAU,CAAC,YAAM;AAClC,UAAIsc,OAAO,CAAC0K,WAAR,KAAwBT,eAA5B,EAA6C;AAC3CjK,QAAAA,OAAO,CAACvF,IAAR;AACD;AACF,KAJ4B,EAI1BuF,OAAO,CAACnc,MAAR,CAAe8kB,KAAf,CAAqBlO,IAJK,CAA7B;AAKD;;SAED2Q,uBAAA,gCAAuB;AACrB,SAAK,IAAMxgB,OAAX,IAAsB,KAAK+f,cAA3B,EAA2C;AACzC,UAAI,KAAKA,cAAL,CAAoB/f,OAApB,CAAJ,EAAkC;AAChC,eAAO,IAAP;AACD;AACF;;AAED,WAAO,KAAP;AACD;;SAED8J,aAAA,oBAAW7Q,MAAX,EAAmB;AACjB,QAAMypB,cAAc,GAAG3e,WAAW,CAACI,iBAAZ,CAA8B,KAAKnN,OAAnC,CAAvB;AAEAmC,IAAAA,MAAM,CAACC,IAAP,CAAYspB,cAAZ,EAA4BrpB,OAA5B,CAAoC,UAAAspB,QAAQ,EAAI;AAC9C,UAAIhF,qBAAqB,CAAC7e,OAAtB,CAA8B6jB,QAA9B,MAA4C,CAAC,CAAjD,EAAoD;AAClD,eAAOD,cAAc,CAACC,QAAD,CAArB;AACD;AACF,KAJD;;AAMA,QAAI1pB,MAAM,IAAI,OAAOA,MAAM,CAACgX,SAAd,KAA4B,QAAtC,IAAkDhX,MAAM,CAACgX,SAAP,CAAiBa,MAAvE,EAA+E;AAC7E7X,MAAAA,MAAM,CAACgX,SAAP,GAAmBhX,MAAM,CAACgX,SAAP,CAAiB,CAAjB,CAAnB;AACD;;AAEDhX,IAAAA,MAAM,gBACD,KAAKsb,WAAL,CAAiB7N,OADhB,EAEDgc,cAFC,EAGA,OAAOzpB,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHhD,CAAN;;AAMA,QAAI,OAAOA,MAAM,CAAC8kB,KAAd,KAAwB,QAA5B,EAAsC;AACpC9kB,MAAAA,MAAM,CAAC8kB,KAAP,GAAe;AACbjO,QAAAA,IAAI,EAAE7W,MAAM,CAAC8kB,KADA;AAEblO,QAAAA,IAAI,EAAE5W,MAAM,CAAC8kB;AAFA,OAAf;AAID;;AAED,QAAI,OAAO9kB,MAAM,CAAC6kB,KAAd,KAAwB,QAA5B,EAAsC;AACpC7kB,MAAAA,MAAM,CAAC6kB,KAAP,GAAe7kB,MAAM,CAAC6kB,KAAP,CAAa1nB,QAAb,EAAf;AACD;;AAED,QAAI,OAAO6C,MAAM,CAAC2oB,OAAd,KAA0B,QAA9B,EAAwC;AACtC3oB,MAAAA,MAAM,CAAC2oB,OAAP,GAAiB3oB,MAAM,CAAC2oB,OAAP,CAAexrB,QAAf,EAAjB;AACD;;AAED2C,IAAAA,eAAe,CAACkI,MAAD,EAAOhI,MAAP,EAAe,KAAKsb,WAAL,CAAiBtN,WAAhC,CAAf;;AAEA,QAAIhO,MAAM,CAACilB,QAAX,EAAqB;AACnBjlB,MAAAA,MAAM,CAAC4kB,QAAP,GAAkBnB,YAAY,CAACzjB,MAAM,CAAC4kB,QAAR,EAAkB5kB,MAAM,CAAC2jB,SAAzB,EAAoC3jB,MAAM,CAAC4jB,UAA3C,CAA9B;AACD;;AAED,WAAO5jB,MAAP;AACD;;SAEDqnB,qBAAA,8BAAqB;AACnB,QAAMrnB,MAAM,GAAG,EAAf;;AAEA,QAAI,KAAKA,MAAT,EAAiB;AACf,WAAK,IAAMwC,GAAX,IAAkB,KAAKxC,MAAvB,EAA+B;AAC7B,YAAI,KAAKsb,WAAL,CAAiB7N,OAAjB,CAAyBjL,GAAzB,MAAkC,KAAKxC,MAAL,CAAYwC,GAAZ,CAAtC,EAAwD;AACtDxC,UAAAA,MAAM,CAACwC,GAAD,CAAN,GAAc,KAAKxC,MAAL,CAAYwC,GAAZ,CAAd;AACD;AACF;AACF;;AAED,WAAOxC,MAAP;AACD;;SAEDwoB,iBAAA,0BAAiB;AACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,QAAMiC,QAAQ,GAAG5C,GAAG,CAAC9oB,YAAJ,CAAiB,OAAjB,EAA0BZ,KAA1B,CAAgConB,kBAAhC,CAAjB;;AACA,QAAIkF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAC7kB,MAAT,GAAkB,CAA3C,EAA8C;AAC5C6kB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;AAAA,eAAIA,KAAK,CAAC1rB,IAAN,EAAJ;AAAA,OAAlB,EACGiC,OADH,CACW,UAAA0pB,MAAM;AAAA,eAAI/C,GAAG,CAACzd,SAAJ,CAAcC,MAAd,CAAqBugB,MAArB,CAAJ;AAAA,OADjB;AAED;AACF;;SAEDZ,+BAAA,sCAA6Ba,UAA7B,EAAyC;AACvC,SAAKhD,GAAL,GAAWgD,UAAU,CAAC/mB,QAAX,CAAoBgnB,MAA/B;;AACA,SAAKxB,cAAL;;AACA,SAAKJ,mBAAL,CAAyB,KAAKD,cAAL,CAAoB4B,UAAU,CAACtO,SAA/B,CAAzB;AACD;;SAED6M,iBAAA,0BAAiB;AACf,QAAMvB,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,QAAMuC,mBAAmB,GAAG,KAAKjqB,MAAL,CAAY2kB,SAAxC;;AACA,QAAIoC,GAAG,CAAC9oB,YAAJ,CAAiB,aAAjB,MAAoC,IAAxC,EAA8C;AAC5C;AACD;;AAED8oB,IAAAA,GAAG,CAACzd,SAAJ,CAAcC,MAAd,CAAqB4T,iBAArB;AACA,SAAKnd,MAAL,CAAY2kB,SAAZ,GAAwB,KAAxB;AACA,SAAK/N,IAAL;AACA,SAAKC,IAAL;AACA,SAAK7W,MAAL,CAAY2kB,SAAZ,GAAwBsF,mBAAxB;AACD;;;UAIMtgB,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3B,UAAInH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBiF,UAAnB,CAAX;;AACA,UAAM0I,OAAO,GAAG,OAAO5Q,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;AAEA,UAAI,CAACyC,IAAD,IAAS,eAAe/B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;AACxC;AACD;;AAED,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAIikB,OAAJ,CAAY,IAAZ,EAAkB9V,OAAlB,CAAP;AACD;;AAED,UAAI,OAAO5Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIgV,SAAJ,wBAAkChV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KAnBM,CAAP;AAoBD;;UAEM+J,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;wBAroBoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOwF,SAAP;AACD;;;wBAEiB;AAChB,aAAOzF,MAAP;AACD;;;wBAEqB;AACpB,aAAOE,UAAP;AACD;;;wBAEkB;AACjB,aAAOhJ,OAAP;AACD;;;wBAEsB;AACrB,aAAOiJ,WAAP;AACD;;;wBAEwB;AACvB,aAAO6F,aAAP;AACD;;;;;AA8mBH;AACA;AACA;AACA;AACA;AACA;;;AAEA/L,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAa0e,OAAO,CAAC/c,eAArB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyByc,OAAzB;;AACAzf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAO0c,OAAO,CAAC/c,eAAf;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACvxBA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,SAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,YAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAMsc,cAAY,GAAG,YAArB;AACA,IAAMC,oBAAkB,GAAG,IAAIhkB,MAAJ,aAAqB+jB,cAArB,WAAyC,GAAzC,CAA3B;;AAEA,IAAM/W,SAAO,gBACRiZ,OAAO,CAACjZ,OADA;AAEXgO,EAAAA,SAAS,EAAE,OAFA;AAGX1U,EAAAA,OAAO,EAAE,OAHE;AAIX4hB,EAAAA,OAAO,EAAE,EAJE;AAKX/D,EAAAA,QAAQ,EAAE,yCACE,mCADF,GAEE,kCAFF,GAGE;AARD,EAAb;;AAWA,IAAM5W,aAAW,gBACZ0Y,OAAO,CAAC1Y,WADI;AAEf2a,EAAAA,OAAO,EAAE;AAFM,EAAjB;;AAKA,IAAMzpB,OAAK,GAAG;AACZsmB,EAAAA,IAAI,WAASrd,WADD;AAEZsd,EAAAA,MAAM,aAAWtd,WAFL;AAGZud,EAAAA,IAAI,WAASvd,WAHD;AAIZwd,EAAAA,KAAK,YAAUxd,WAJH;AAKZyd,EAAAA,QAAQ,eAAazd,WALT;AAMZ0d,EAAAA,KAAK,YAAU1d,WANH;AAOZ2d,EAAAA,OAAO,cAAY3d,WAPP;AAQZ4d,EAAAA,QAAQ,eAAa5d,WART;AASZ6d,EAAAA,UAAU,iBAAe7d,WATb;AAUZ8d,EAAAA,UAAU,iBAAe9d;AAVb,CAAd;AAaA,IAAMgV,iBAAe,GAAG,MAAxB;AACA,IAAMzH,iBAAe,GAAG,MAAxB;AAEA,IAAMwU,cAAc,GAAG,iBAAvB;AACA,IAAMC,gBAAgB,GAAG,eAAzB;AAEA;AACA;AACA;AACA;AACA;;IAEMC;;;;;;;;;AA+BJ;SAEAxC,gBAAA,yBAAgB;AACd,WAAO,KAAKa,QAAL,MAAmB,KAAK4B,WAAL,EAA1B;AACD;;SAEDpC,aAAA,sBAAa;AACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ,CADW;;AAIX,SAAKgB,iBAAL,CAAuBzc,cAAc,CAACM,OAAf,CAAuB2d,cAAvB,EAAuCnD,GAAvC,CAAvB,EAAoE,KAAK0B,QAAL,EAApE;;AACA,QAAIE,OAAO,GAAG,KAAK0B,WAAL,EAAd;;AACA,QAAI,OAAO1B,OAAP,KAAmB,UAAvB,EAAmC;AACjCA,MAAAA,OAAO,GAAGA,OAAO,CAACvrB,IAAR,CAAa,KAAKW,OAAlB,CAAV;AACD;;AAED,SAAK2qB,iBAAL,CAAuBzc,cAAc,CAACM,OAAf,CAAuB4d,gBAAvB,EAAyCpD,GAAzC,CAAvB,EAAsE4B,OAAtE;AAEA5B,IAAAA,GAAG,CAACzd,SAAJ,CAAcC,MAAd,CAAqB4T,iBAArB,EAAsCzH,iBAAtC;AACD;;;SAID0S,sBAAA,6BAAoBF,UAApB,EAAgC;AAC9B,SAAKR,aAAL,GAAqBpe,SAArB,CAA+B2J,GAA/B,CAAsCuR,cAAtC,SAAsD0D,UAAtD;AACD;;SAEDmC,cAAA,uBAAc;AACZ,WAAO,KAAKtsB,OAAL,CAAaE,YAAb,CAA0B,cAA1B,KACL,KAAK+B,MAAL,CAAY2oB,OADd;AAED;;SAEDH,iBAAA,0BAAiB;AACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,QAAMiC,QAAQ,GAAG5C,GAAG,CAAC9oB,YAAJ,CAAiB,OAAjB,EAA0BZ,KAA1B,CAAgConB,oBAAhC,CAAjB;;AACA,QAAIkF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAC7kB,MAAT,GAAkB,CAA3C,EAA8C;AAC5C6kB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;AAAA,eAAIA,KAAK,CAAC1rB,IAAN,EAAJ;AAAA,OAAlB,EACGiC,OADH,CACW,UAAA0pB,MAAM;AAAA,eAAI/C,GAAG,CAACzd,SAAJ,CAAcC,MAAd,CAAqBugB,MAArB,CAAJ;AAAA,OADjB;AAED;AACF;;;UAIMngB,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3B,UAAInH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBiF,UAAnB,CAAX;;AACA,UAAM0I,OAAO,GAAG,OAAO5Q,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;AAEA,UAAI,CAACyC,IAAD,IAAS,eAAe/B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;AACxC;AACD;;AAED,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAI2nB,OAAJ,CAAY,IAAZ,EAAkBxZ,OAAlB,CAAP;AACA9N,QAAAA,IAAI,CAACC,OAAL,CAAa,IAAb,EAAmBmF,UAAnB,EAA6BzF,IAA7B;AACD;;AAED,UAAI,OAAOzC,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIgV,SAAJ,wBAAkChV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KApBM,CAAP;AAqBD;;UAEM+J,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;AAnGD;wBAEqB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOwF,SAAP;AACD;;;wBAEiB;AAChB,aAAOzF,MAAP;AACD;;;wBAEqB;AACpB,aAAOE,UAAP;AACD;;;wBAEkB;AACjB,aAAOhJ,OAAP;AACD;;;wBAEsB;AACrB,aAAOiJ,WAAP;AACD;;;wBAEwB;AACvB,aAAO6F,aAAP;AACD;;;;EA7BmB0Y;AAuGtB;AACA;AACA;AACA;AACA;AACA;;;AAEAzkB,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAaoiB,OAAO,CAACzgB,eAArB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyBmgB,OAAzB;;AACAnjB,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAOogB,OAAO,CAACzgB,eAAf;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;AC5JA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,WAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,cAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMqF,SAAO,GAAG;AACdnC,EAAAA,MAAM,EAAE,EADM;AAEdgf,EAAAA,MAAM,EAAE,MAFM;AAGd1lB,EAAAA,MAAM,EAAE;AAHM,CAAhB;AAMA,IAAMoJ,aAAW,GAAG;AAClB1C,EAAAA,MAAM,EAAE,QADU;AAElBgf,EAAAA,MAAM,EAAE,QAFU;AAGlB1lB,EAAAA,MAAM,EAAE;AAHU,CAApB;AAMA,IAAM2lB,cAAc,gBAAcpiB,WAAlC;AACA,IAAMqiB,YAAY,cAAYriB,WAA9B;AACA,IAAM6G,qBAAmB,YAAU7G,WAAV,GAAsBC,cAA/C;AAEA,IAAMqiB,wBAAwB,GAAG,eAAjC;AACA,IAAMtgB,mBAAiB,GAAG,QAA1B;AAEA,IAAMugB,iBAAiB,GAAG,qBAA1B;AACA,IAAMC,uBAAuB,GAAG,mBAAhC;AACA,IAAMC,kBAAkB,GAAG,WAA3B;AACA,IAAMC,kBAAkB,GAAG,WAA3B;AACA,IAAMC,mBAAmB,GAAG,kBAA5B;AACA,IAAMC,iBAAiB,GAAG,WAA1B;AACA,IAAMC,wBAAwB,GAAG,kBAAjC;AAEA,IAAMC,aAAa,GAAG,QAAtB;AACA,IAAMC,eAAe,GAAG,UAAxB;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,qBAAYptB,OAAZ,EAAqBiC,MAArB,EAA6B;AAAA;;AAC3B,SAAK6I,QAAL,GAAgB9K,OAAhB;AACA,SAAKqtB,cAAL,GAAsBrtB,OAAO,CAACmV,OAAR,KAAoB,MAApB,GAA6B1U,MAA7B,GAAsCT,OAA5D;AACA,SAAK6S,OAAL,GAAe,KAAKC,UAAL,CAAgB7Q,MAAhB,CAAf;AACA,SAAKwW,SAAL,GAAoB,KAAK5F,OAAL,CAAahM,MAAjC,SAA2CgmB,kBAA3C,UAAkE,KAAKha,OAAL,CAAahM,MAA/E,SAAyFkmB,mBAAzF,UAAiH,KAAKla,OAAL,CAAahM,MAA9H,UAAyI6lB,wBAAzI;AACA,SAAKY,QAAL,GAAgB,EAAhB;AACA,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKC,aAAL,GAAqB,IAArB;AACA,SAAKC,aAAL,GAAqB,CAArB;AAEAnnB,IAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAK6kB,cAArB,EAAqCZ,YAArC,EAAmD,UAAAtmB,KAAK;AAAA,aAAI,KAAI,CAACunB,QAAL,CAAcvnB,KAAd,CAAJ;AAAA,KAAxD;AAEA,SAAKwnB,OAAL;;AACA,SAAKD,QAAL;;AAEA3oB,IAAAA,IAAI,CAACC,OAAL,CAAahF,OAAb,EAAsBmK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAYD;SAEAwjB,UAAA,mBAAU;AAAA;;AACR,QAAMC,UAAU,GAAG,KAAKP,cAAL,KAAwB,KAAKA,cAAL,CAAoB5sB,MAA5C,GACjBysB,aADiB,GAEjBC,eAFF;AAIA,QAAMU,YAAY,GAAG,KAAKhb,OAAL,CAAa0Z,MAAb,KAAwB,MAAxB,GACnBqB,UADmB,GAEnB,KAAK/a,OAAL,CAAa0Z,MAFf;AAIA,QAAMuB,UAAU,GAAGD,YAAY,KAAKV,eAAjB,GACjB,KAAKY,aAAL,EADiB,GAEjB,CAFF;AAIA,SAAKT,QAAL,GAAgB,EAAhB;AACA,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKE,aAAL,GAAqB,KAAKO,gBAAL,EAArB;AAEA,QAAMC,OAAO,GAAG/f,cAAc,CAACE,IAAf,CAAoB,KAAKqK,SAAzB,CAAhB;AAEAwV,IAAAA,OAAO,CAACpC,GAAR,CAAY,UAAA7rB,OAAO,EAAI;AACrB,UAAMkuB,cAAc,GAAG7tB,sBAAsB,CAACL,OAAD,CAA7C;AACA,UAAM6G,MAAM,GAAGqnB,cAAc,GAAGhgB,cAAc,CAACM,OAAf,CAAuB0f,cAAvB,CAAH,GAA4C,IAAzE;;AAEA,UAAIrnB,MAAJ,EAAY;AACV,YAAMsnB,SAAS,GAAGtnB,MAAM,CAAC4G,qBAAP,EAAlB;;AACA,YAAI0gB,SAAS,CAACpL,KAAV,IAAmBoL,SAAS,CAACC,MAAjC,EAAyC;AACvC,iBAAO,CACLrhB,WAAW,CAAC8gB,YAAD,CAAX,CAA0BhnB,MAA1B,EAAkC6G,GAAlC,GAAwCogB,UADnC,EAELI,cAFK,CAAP;AAID;AACF;;AAED,aAAO,IAAP;AACD,KAfD,EAgBGxf,MAhBH,CAgBU,UAAA2f,IAAI;AAAA,aAAIA,IAAJ;AAAA,KAhBd,EAiBGC,IAjBH,CAiBQ,UAACxK,CAAD,EAAIE,CAAJ;AAAA,aAAUF,CAAC,CAAC,CAAD,CAAD,GAAOE,CAAC,CAAC,CAAD,CAAlB;AAAA,KAjBR,EAkBG3hB,OAlBH,CAkBW,UAAAgsB,IAAI,EAAI;AACf,MAAA,MAAI,CAACf,QAAL,CAActe,IAAd,CAAmBqf,IAAI,CAAC,CAAD,CAAvB;;AACA,MAAA,MAAI,CAACd,QAAL,CAAcve,IAAd,CAAmBqf,IAAI,CAAC,CAAD,CAAvB;AACD,KArBH;AAsBD;;SAEDhjB,UAAA,mBAAU;AACRtG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK2F,QAArB,EAA+BX,UAA/B;AACA7D,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK8mB,cAAtB,EAAsCjjB,WAAtC;AAEA,SAAKU,QAAL,GAAgB,IAAhB;AACA,SAAKuiB,cAAL,GAAsB,IAAtB;AACA,SAAKxa,OAAL,GAAe,IAAf;AACA,SAAK4F,SAAL,GAAiB,IAAjB;AACA,SAAK6U,QAAL,GAAgB,IAAhB;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA,SAAKC,aAAL,GAAqB,IAArB;AACA,SAAKC,aAAL,GAAqB,IAArB;AACD;;;SAID3a,aAAA,oBAAW7Q,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACDyN,SADC,EAEA,OAAOzN,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAFhD,CAAN;;AAKA,QAAI,OAAOA,MAAM,CAAC4E,MAAd,KAAyB,QAAzB,IAAqCzF,SAAS,CAACa,MAAM,CAAC4E,MAAR,CAAlD,EAAmE;AAAA,UAC3DtC,EAD2D,GACpDtC,MAAM,CAAC4E,MAD6C,CAC3DtC,EAD2D;;AAEjE,UAAI,CAACA,EAAL,EAAS;AACPA,QAAAA,EAAE,GAAG/E,MAAM,CAACyK,MAAD,CAAX;AACAhI,QAAAA,MAAM,CAAC4E,MAAP,CAActC,EAAd,GAAmBA,EAAnB;AACD;;AAEDtC,MAAAA,MAAM,CAAC4E,MAAP,SAAoBtC,EAApB;AACD;;AAEDxC,IAAAA,eAAe,CAACkI,MAAD,EAAOhI,MAAP,EAAegO,aAAf,CAAf;AAEA,WAAOhO,MAAP;AACD;;SAED8rB,gBAAA,yBAAgB;AACd,WAAO,KAAKV,cAAL,KAAwB5sB,MAAxB,GACL,KAAK4sB,cAAL,CAAoBkB,WADf,GAEL,KAAKlB,cAAL,CAAoB1f,SAFtB;AAGD;;SAEDqgB,mBAAA,4BAAmB;AACjB,WAAO,KAAKX,cAAL,CAAoBzL,YAApB,IAAoCliB,IAAI,CAAC8uB,GAAL,CACzC3uB,QAAQ,CAACmE,IAAT,CAAc4d,YAD2B,EAEzC/hB,QAAQ,CAACyD,eAAT,CAAyBse,YAFgB,CAA3C;AAID;;SAED6M,mBAAA,4BAAmB;AACjB,WAAO,KAAKpB,cAAL,KAAwB5sB,MAAxB,GACLA,MAAM,CAACiuB,WADF,GAEL,KAAKrB,cAAL,CAAoB5f,qBAApB,GAA4C2gB,MAF9C;AAGD;;SAEDV,WAAA,oBAAW;AACT,QAAM/f,SAAS,GAAG,KAAKogB,aAAL,KAAuB,KAAKlb,OAAL,CAAatF,MAAtD;;AACA,QAAMqU,YAAY,GAAG,KAAKoM,gBAAL,EAArB;;AACA,QAAMW,SAAS,GAAG,KAAK9b,OAAL,CAAatF,MAAb,GAChBqU,YADgB,GAEhB,KAAK6M,gBAAL,EAFF;;AAIA,QAAI,KAAKhB,aAAL,KAAuB7L,YAA3B,EAAyC;AACvC,WAAK+L,OAAL;AACD;;AAED,QAAIhgB,SAAS,IAAIghB,SAAjB,EAA4B;AAC1B,UAAM9nB,MAAM,GAAG,KAAK0mB,QAAL,CAAc,KAAKA,QAAL,CAAcxmB,MAAd,GAAuB,CAArC,CAAf;;AAEA,UAAI,KAAKymB,aAAL,KAAuB3mB,MAA3B,EAAmC;AACjC,aAAK+nB,SAAL,CAAe/nB,MAAf;AACD;;AAED;AACD;;AAED,QAAI,KAAK2mB,aAAL,IAAsB7f,SAAS,GAAG,KAAK2f,QAAL,CAAc,CAAd,CAAlC,IAAsD,KAAKA,QAAL,CAAc,CAAd,IAAmB,CAA7E,EAAgF;AAC9E,WAAKE,aAAL,GAAqB,IAArB;;AACA,WAAKqB,MAAL;;AACA;AACD;;AAED,SAAK,IAAI/nB,CAAC,GAAG,KAAKwmB,QAAL,CAAcvmB,MAA3B,EAAmCD,CAAC,EAApC,GAAyC;AACvC,UAAMgoB,cAAc,GAAG,KAAKtB,aAAL,KAAuB,KAAKD,QAAL,CAAczmB,CAAd,CAAvB,IACnB6G,SAAS,IAAI,KAAK2f,QAAL,CAAcxmB,CAAd,CADM,KAElB,OAAO,KAAKwmB,QAAL,CAAcxmB,CAAC,GAAG,CAAlB,CAAP,KAAgC,WAAhC,IACG6G,SAAS,GAAG,KAAK2f,QAAL,CAAcxmB,CAAC,GAAG,CAAlB,CAHG,CAAvB;;AAKA,UAAIgoB,cAAJ,EAAoB;AAClB,aAAKF,SAAL,CAAe,KAAKrB,QAAL,CAAczmB,CAAd,CAAf;AACD;AACF;AACF;;SAED8nB,YAAA,mBAAU/nB,MAAV,EAAkB;AAChB,SAAK2mB,aAAL,GAAqB3mB,MAArB;;AAEA,SAAKgoB,MAAL;;AAEA,QAAME,OAAO,GAAG,KAAKtW,SAAL,CAAezX,KAAf,CAAqB,GAArB,EACb6qB,GADa,CACT,UAAA5rB,QAAQ;AAAA,aAAOA,QAAP,uBAAgC4G,MAAhC,YAA4C5G,QAA5C,gBAA8D4G,MAA9D;AAAA,KADC,CAAhB;;AAGA,QAAMmoB,IAAI,GAAG9gB,cAAc,CAACM,OAAf,CAAuBugB,OAAO,CAACE,IAAR,CAAa,GAAb,CAAvB,CAAb;;AAEA,QAAID,IAAI,CAACzjB,SAAL,CAAeE,QAAf,CAAwBihB,wBAAxB,CAAJ,EAAuD;AACrDxe,MAAAA,cAAc,CAACM,OAAf,CAAuBye,wBAAvB,EAAiD+B,IAAI,CAAC1jB,OAAL,CAAa0hB,iBAAb,CAAjD,EACGzhB,SADH,CACa2J,GADb,CACiB9I,mBADjB;AAGA4iB,MAAAA,IAAI,CAACzjB,SAAL,CAAe2J,GAAf,CAAmB9I,mBAAnB;AACD,KALD,MAKO;AACL;AACA4iB,MAAAA,IAAI,CAACzjB,SAAL,CAAe2J,GAAf,CAAmB9I,mBAAnB;AAEA8B,MAAAA,cAAc,CAACU,OAAf,CAAuBogB,IAAvB,EAA6BpC,uBAA7B,EACGvqB,OADH,CACW,UAAA6sB,SAAS,EAAI;AACpB;AACA;AACAhhB,QAAAA,cAAc,CAACe,IAAf,CAAoBigB,SAApB,EAAkCrC,kBAAlC,UAAyDE,mBAAzD,EACG1qB,OADH,CACW,UAAAgsB,IAAI;AAAA,iBAAIA,IAAI,CAAC9iB,SAAL,CAAe2J,GAAf,CAAmB9I,mBAAnB,CAAJ;AAAA,SADf,EAHoB;;AAOpB8B,QAAAA,cAAc,CAACe,IAAf,CAAoBigB,SAApB,EAA+BpC,kBAA/B,EACGzqB,OADH,CACW,UAAA8sB,OAAO,EAAI;AAClBjhB,UAAAA,cAAc,CAACO,QAAf,CAAwB0gB,OAAxB,EAAiCtC,kBAAjC,EACGxqB,OADH,CACW,UAAAgsB,IAAI;AAAA,mBAAIA,IAAI,CAAC9iB,SAAL,CAAe2J,GAAf,CAAmB9I,mBAAnB,CAAJ;AAAA,WADf;AAED,SAJH;AAKD,OAbH;AAcD;;AAED9F,IAAAA,YAAY,CAAC0C,OAAb,CAAqB,KAAKqkB,cAA1B,EAA0Cb,cAA1C,EAA0D;AACxD3W,MAAAA,aAAa,EAAEhP;AADyC,KAA1D;AAGD;;SAEDgoB,SAAA,kBAAS;AACP3gB,IAAAA,cAAc,CAACE,IAAf,CAAoB,KAAKqK,SAAzB,EACG/J,MADH,CACU,UAAA0gB,IAAI;AAAA,aAAIA,IAAI,CAAC7jB,SAAL,CAAeE,QAAf,CAAwBW,mBAAxB,CAAJ;AAAA,KADd,EAEG/J,OAFH,CAEW,UAAA+sB,IAAI;AAAA,aAAIA,IAAI,CAAC7jB,SAAL,CAAeC,MAAf,CAAsBY,mBAAtB,CAAJ;AAAA,KAFf;AAGD;;;YAIMR,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3B,UAAInH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBiF,UAAnB,CAAX;;AACA,UAAM0I,OAAO,GAAG,OAAO5Q,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;AAEA,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAI0oB,SAAJ,CAAc,IAAd,EAAoBva,OAApB,CAAP;AACD;;AAED,UAAI,OAAO5Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIgV,SAAJ,wBAAkChV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KAfM,CAAP;AAgBD;;YAEM+J,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;wBAzNoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOwF,SAAP;AACD;;;;;AAsNH;AACA;AACA;AACA;AACA;;;AAEApJ,YAAY,CAACkC,EAAb,CAAgB/H,MAAhB,EAAwBwQ,qBAAxB,EAA6C,YAAM;AACjD/C,EAAAA,cAAc,CAACE,IAAf,CAAoBue,iBAApB,EACGtqB,OADH,CACW,UAAAgtB,GAAG;AAAA,WAAI,IAAIjC,SAAJ,CAAciC,GAAd,EAAmBtiB,WAAW,CAACI,iBAAZ,CAA8BkiB,GAA9B,CAAnB,CAAJ;AAAA,GADd;AAED,CAHD;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEAnrB,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAamjB,SAAS,CAACxhB,eAAvB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyBkhB,SAAzB;;AACAlkB,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAOmhB,SAAS,CAACxhB,eAAjB;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACnTA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,KAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,QAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMoN,YAAU,YAAUrN,WAA1B;AACA,IAAMsN,cAAY,cAAYtN,WAA9B;AACA,IAAMmN,YAAU,YAAUnN,WAA1B;AACA,IAAMoN,aAAW,aAAWpN,WAA5B;AACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA,IAAMilB,wBAAwB,GAAG,eAAjC;AACA,IAAMljB,mBAAiB,GAAG,QAA1B;AACA,IAAM0O,qBAAmB,GAAG,UAA5B;AACA,IAAMsE,iBAAe,GAAG,MAAxB;AACA,IAAMzH,iBAAe,GAAG,MAAxB;AAEA,IAAMqV,mBAAiB,GAAG,WAA1B;AACA,IAAMJ,yBAAuB,GAAG,mBAAhC;AACA,IAAMnb,iBAAe,GAAG,SAAxB;AACA,IAAM8d,kBAAkB,GAAG,uBAA3B;AACA,IAAMljB,sBAAoB,GAAG,iEAA7B;AACA,IAAM4gB,0BAAwB,GAAG,kBAAjC;AACA,IAAMuC,8BAA8B,GAAG,iCAAvC;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,eAAYzvB,OAAZ,EAAqB;AACnB,SAAK8K,QAAL,GAAgB9K,OAAhB;AAEA+E,IAAAA,IAAI,CAACC,OAAL,CAAa,KAAK8F,QAAlB,EAA4BX,UAA5B,EAAsC,IAAtC;AACD;;;;;AAQD;SAEA2O,OAAA,gBAAO;AAAA;;AACL,QAAK,KAAKhO,QAAL,CAAc9H,UAAd,IACH,KAAK8H,QAAL,CAAc9H,UAAd,CAAyB3B,QAAzB,KAAsCyN,IAAI,CAACC,YADxC,IAEH,KAAKjE,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCW,mBAAjC,CAFE,IAGF,KAAKtB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqP,qBAAjC,CAHF,EAGyD;AACvD;AACD;;AAED,QAAI5L,QAAJ;AACA,QAAMrI,MAAM,GAAGtG,sBAAsB,CAAC,KAAKuK,QAAN,CAArC;;AACA,QAAM4kB,WAAW,GAAG,KAAK5kB,QAAL,CAAcQ,OAAd,CAAsBshB,yBAAtB,CAApB;;AAEA,QAAI8C,WAAJ,EAAiB;AACf,UAAMC,YAAY,GAAGD,WAAW,CAACjM,QAAZ,KAAyB,IAAzB,IAAiCiM,WAAW,CAACjM,QAAZ,KAAyB,IAA1D,GAAiE8L,kBAAjE,GAAsF9d,iBAA3G;AACAvC,MAAAA,QAAQ,GAAGhB,cAAc,CAACE,IAAf,CAAoBuhB,YAApB,EAAkCD,WAAlC,CAAX;AACAxgB,MAAAA,QAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAACnI,MAAT,GAAkB,CAAnB,CAAnB;AACD;;AAED,QAAImW,SAAS,GAAG,IAAhB;;AAEA,QAAIhO,QAAJ,EAAc;AACZgO,MAAAA,SAAS,GAAG5W,YAAY,CAAC0C,OAAb,CAAqBkG,QAArB,EAA+BuI,YAA/B,EAA2C;AACrD5B,QAAAA,aAAa,EAAE,KAAK/K;AADiC,OAA3C,CAAZ;AAGD;;AAED,QAAM+R,SAAS,GAAGvW,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoCyM,YAApC,EAAgD;AAChE1B,MAAAA,aAAa,EAAE3G;AADiD,KAAhD,CAAlB;;AAIA,QAAI2N,SAAS,CAACvT,gBAAV,IACD4T,SAAS,KAAK,IAAd,IAAsBA,SAAS,CAAC5T,gBADnC,EACsD;AACpD;AACD;;AAED,SAAKslB,SAAL,CACE,KAAK9jB,QADP,EAEE4kB,WAFF;;AAKA,QAAMjW,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrBnT,MAAAA,YAAY,CAAC0C,OAAb,CAAqBkG,QAArB,EAA+BwI,cAA/B,EAA6C;AAC3C7B,QAAAA,aAAa,EAAE,KAAI,CAAC/K;AADuB,OAA7C;AAGAxE,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,KAAI,CAAC8B,QAA1B,EAAoC0M,aAApC,EAAiD;AAC/C3B,QAAAA,aAAa,EAAE3G;AADgC,OAAjD;AAGD,KAPD;;AASA,QAAIrI,MAAJ,EAAY;AACV,WAAK+nB,SAAL,CAAe/nB,MAAf,EAAuBA,MAAM,CAAC7D,UAA9B,EAA0CyW,QAA1C;AACD,KAFD,MAEO;AACLA,MAAAA,QAAQ;AACT;AACF;;SAEDpO,UAAA,mBAAU;AACRtG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK2F,QAArB,EAA+BX,UAA/B;AACA,SAAKW,QAAL,GAAgB,IAAhB;AACD;;;SAID8jB,YAAA,mBAAU5uB,OAAV,EAAmBiZ,SAAnB,EAA8B9U,QAA9B,EAAwC;AAAA;;AACtC,QAAMyrB,cAAc,GAAG3W,SAAS,KAAKA,SAAS,CAACwK,QAAV,KAAuB,IAAvB,IAA+BxK,SAAS,CAACwK,QAAV,KAAuB,IAA3D,CAAT,GACrBvV,cAAc,CAACE,IAAf,CAAoBmhB,kBAApB,EAAwCtW,SAAxC,CADqB,GAErB/K,cAAc,CAACO,QAAf,CAAwBwK,SAAxB,EAAmCxH,iBAAnC,CAFF;AAIA,QAAMoe,MAAM,GAAGD,cAAc,CAAC,CAAD,CAA7B;AACA,QAAM/V,eAAe,GAAG1V,QAAQ,IAC7B0rB,MAAM,IAAIA,MAAM,CAACtkB,SAAP,CAAiBE,QAAjB,CAA0B2T,iBAA1B,CADb;;AAGA,QAAM3F,QAAQ,GAAG,SAAXA,QAAW;AAAA,aAAM,MAAI,CAACqW,mBAAL,CACrB9vB,OADqB,EAErB6vB,MAFqB,EAGrB1rB,QAHqB,CAAN;AAAA,KAAjB;;AAMA,QAAI0rB,MAAM,IAAIhW,eAAd,EAA+B;AAC7B,UAAMlZ,kBAAkB,GAAGH,gCAAgC,CAACqvB,MAAD,CAA3D;AACAA,MAAAA,MAAM,CAACtkB,SAAP,CAAiBC,MAAjB,CAAwBmM,iBAAxB;AAEArR,MAAAA,YAAY,CAACmC,GAAb,CAAiBonB,MAAjB,EAAyB7wB,cAAzB,EAAyCya,QAAzC;AACAnY,MAAAA,oBAAoB,CAACuuB,MAAD,EAASlvB,kBAAT,CAApB;AACD,KAND,MAMO;AACL8Y,MAAAA,QAAQ;AACT;AACF;;SAEDqW,sBAAA,6BAAoB9vB,OAApB,EAA6B6vB,MAA7B,EAAqC1rB,QAArC,EAA+C;AAC7C,QAAI0rB,MAAJ,EAAY;AACVA,MAAAA,MAAM,CAACtkB,SAAP,CAAiBC,MAAjB,CAAwBY,mBAAxB;AAEA,UAAM2jB,aAAa,GAAG7hB,cAAc,CAACM,OAAf,CAAuBghB,8BAAvB,EAAuDK,MAAM,CAAC7sB,UAA9D,CAAtB;;AAEA,UAAI+sB,aAAJ,EAAmB;AACjBA,QAAAA,aAAa,CAACxkB,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;AACD;;AAED,UAAIyjB,MAAM,CAAC3vB,YAAP,CAAoB,MAApB,MAAgC,KAApC,EAA2C;AACzC2vB,QAAAA,MAAM,CAACrjB,YAAP,CAAoB,eAApB,EAAqC,KAArC;AACD;AACF;;AAEDxM,IAAAA,OAAO,CAACuL,SAAR,CAAkB2J,GAAlB,CAAsB9I,mBAAtB;;AACA,QAAIpM,OAAO,CAACE,YAAR,CAAqB,MAArB,MAAiC,KAArC,EAA4C;AAC1CF,MAAAA,OAAO,CAACwM,YAAR,CAAqB,eAArB,EAAsC,IAAtC;AACD;;AAED5I,IAAAA,MAAM,CAAC5D,OAAD,CAAN;;AAEA,QAAIA,OAAO,CAACuL,SAAR,CAAkBE,QAAlB,CAA2B2T,iBAA3B,CAAJ,EAAiD;AAC/Cpf,MAAAA,OAAO,CAACuL,SAAR,CAAkB2J,GAAlB,CAAsByC,iBAAtB;AACD;;AAED,QAAI3X,OAAO,CAACgD,UAAR,IAAsBhD,OAAO,CAACgD,UAAR,CAAmBuI,SAAnB,CAA6BE,QAA7B,CAAsC6jB,wBAAtC,CAA1B,EAA2F;AACzF,UAAMU,eAAe,GAAGhwB,OAAO,CAACsL,OAAR,CAAgB0hB,mBAAhB,CAAxB;;AAEA,UAAIgD,eAAJ,EAAqB;AACnB9hB,QAAAA,cAAc,CAACE,IAAf,CAAoB6e,0BAApB,EACG5qB,OADH,CACW,UAAA4tB,QAAQ;AAAA,iBAAIA,QAAQ,CAAC1kB,SAAT,CAAmB2J,GAAnB,CAAuB9I,mBAAvB,CAAJ;AAAA,SADnB;AAED;;AAEDpM,MAAAA,OAAO,CAACwM,YAAR,CAAqB,eAArB,EAAsC,IAAtC;AACD;;AAED,QAAIrI,QAAJ,EAAc;AACZA,MAAAA,QAAQ;AACT;AACF;;;MAIMyH,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3B,UAAMnH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBiF,UAAnB,KAAgC,IAAIslB,GAAJ,CAAQ,IAAR,CAA7C;;AAEA,UAAI,OAAOxtB,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIgV,SAAJ,wBAAkChV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KAVM,CAAP;AAWD;;MAEM+J,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;wBA3JoB;AACnB,aAAOD,SAAP;AACD;;;;;AA4JH;AACA;AACA;AACA;AACA;;;AAEA5D,YAAY,CAACkC,EAAb,CAAgB3I,QAAhB,EAA0B4K,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAUlG,KAAV,EAAiB;AACrFA,EAAAA,KAAK,CAAC6D,cAAN;AAEA,MAAMtF,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBiF,UAAnB,KAAgC,IAAIslB,GAAJ,CAAQ,IAAR,CAA7C;AACA/qB,EAAAA,IAAI,CAACoU,IAAL;AACD,CALD;AAOA;AACA;AACA;AACA;AACA;AACA;;AAEA5U,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAawlB,GAAG,CAAC7jB,eAAjB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyBujB,GAAzB;;AACAvmB,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAOwjB,GAAG,CAAC7jB,eAAX;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACjOA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,OAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,UAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AAEA,IAAM0U,qBAAmB,qBAAmBzU,WAA5C;AACA,IAAMqN,YAAU,YAAUrN,WAA1B;AACA,IAAMsN,cAAY,cAAYtN,WAA9B;AACA,IAAMmN,YAAU,YAAUnN,WAA1B;AACA,IAAMoN,aAAW,aAAWpN,WAA5B;AAEA,IAAMgV,iBAAe,GAAG,MAAxB;AACA,IAAM8Q,eAAe,GAAG,MAAxB;AACA,IAAMvY,iBAAe,GAAG,MAAxB;AACA,IAAMwY,kBAAkB,GAAG,SAA3B;AAEA,IAAMlgB,aAAW,GAAG;AAClB2W,EAAAA,SAAS,EAAE,SADO;AAElBwJ,EAAAA,QAAQ,EAAE,SAFQ;AAGlBrJ,EAAAA,KAAK,EAAE;AAHW,CAApB;AAMA,IAAMrX,SAAO,GAAG;AACdkX,EAAAA,SAAS,EAAE,IADG;AAEdwJ,EAAAA,QAAQ,EAAE,IAFI;AAGdrJ,EAAAA,KAAK,EAAE;AAHO,CAAhB;AAMA,IAAMvH,uBAAqB,GAAG,wBAA9B;AAEA;AACA;AACA;AACA;AACA;;IAEM6Q;AACJ,iBAAYrwB,OAAZ,EAAqBiC,MAArB,EAA6B;AAC3B,SAAK6I,QAAL,GAAgB9K,OAAhB;AACA,SAAK6S,OAAL,GAAe,KAAKC,UAAL,CAAgB7Q,MAAhB,CAAf;AACA,SAAK4mB,QAAL,GAAgB,IAAhB;;AACA,SAAKI,aAAL;;AACAlkB,IAAAA,IAAI,CAACC,OAAL,CAAahF,OAAb,EAAsBmK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAgBD;SAEA2O,OAAA,gBAAO;AAAA;;AACL,QAAM+D,SAAS,GAAGvW,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoCyM,YAApC,CAAlB;;AAEA,QAAIsF,SAAS,CAACvT,gBAAd,EAAgC;AAC9B;AACD;;AAED,SAAKgnB,aAAL;;AAEA,QAAI,KAAKzd,OAAL,CAAa+T,SAAjB,EAA4B;AAC1B,WAAK9b,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4BkK,iBAA5B;AACD;;AAED,QAAM3F,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAA,KAAI,CAAC3O,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B2kB,kBAA/B;;AACA,MAAA,KAAI,CAACrlB,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4ByC,iBAA5B;;AAEArR,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,KAAI,CAAC8B,QAA1B,EAAoC0M,aAApC;;AAEA,UAAI,KAAI,CAAC3E,OAAL,CAAaud,QAAjB,EAA2B;AACzB,QAAA,KAAI,CAACvH,QAAL,GAAgB/mB,UAAU,CAAC,YAAM;AAC/B,UAAA,KAAI,CAAC+W,IAAL;AACD,SAFyB,EAEvB,KAAI,CAAChG,OAAL,CAAakU,KAFU,CAA1B;AAGD;AACF,KAXD;;AAaA,SAAKjc,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B0kB,eAA/B;;AACAtsB,IAAAA,MAAM,CAAC,KAAKkH,QAAN,CAAN;;AACA,SAAKA,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4Bib,kBAA5B;;AACA,QAAI,KAAKtd,OAAL,CAAa+T,SAAjB,EAA4B;AAC1B,UAAMjmB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKsK,QAAN,CAA3D;AAEAxE,MAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgC9L,cAAhC,EAAgDya,QAAhD;AACAnY,MAAAA,oBAAoB,CAAC,KAAKwJ,QAAN,EAAgBnK,kBAAhB,CAApB;AACD,KALD,MAKO;AACL8Y,MAAAA,QAAQ;AACT;AACF;;SAEDZ,OAAA,gBAAO;AAAA;;AACL,QAAI,CAAC,KAAK/N,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkM,iBAAjC,CAAL,EAAwD;AACtD;AACD;;AAED,QAAMuF,SAAS,GAAG5W,YAAY,CAAC0C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC2M,YAApC,CAAlB;;AAEA,QAAIyF,SAAS,CAAC5T,gBAAd,EAAgC;AAC9B;AACD;;AAED,QAAMmQ,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAA,MAAI,CAAC3O,QAAL,CAAcS,SAAd,CAAwB2J,GAAxB,CAA4Bgb,eAA5B;;AACA5pB,MAAAA,YAAY,CAAC0C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoC4M,cAApC;AACD,KAHD;;AAKA,SAAK5M,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BmM,iBAA/B;;AACA,QAAI,KAAK9E,OAAL,CAAa+T,SAAjB,EAA4B;AAC1B,UAAMjmB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKsK,QAAN,CAA3D;AAEAxE,MAAAA,YAAY,CAACmC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgC9L,cAAhC,EAAgDya,QAAhD;AACAnY,MAAAA,oBAAoB,CAAC,KAAKwJ,QAAN,EAAgBnK,kBAAhB,CAApB;AACD,KALD,MAKO;AACL8Y,MAAAA,QAAQ;AACT;AACF;;SAEDpO,UAAA,mBAAU;AACR,SAAKilB,aAAL;;AAEA,QAAI,KAAKxlB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkM,iBAAjC,CAAJ,EAAuD;AACrD,WAAK7M,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BmM,iBAA/B;AACD;;AAEDrR,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKuE,QAAtB,EAAgC+T,qBAAhC;AACA9Z,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK2F,QAArB,EAA+BX,UAA/B;AAEA,SAAKW,QAAL,GAAgB,IAAhB;AACA,SAAK+H,OAAL,GAAe,IAAf;AACD;;;SAIDC,aAAA,oBAAW7Q,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACDyN,SADC,EAED3C,WAAW,CAACI,iBAAZ,CAA8B,KAAKrC,QAAnC,CAFC,EAGA,OAAO7I,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHhD,CAAN;AAMAF,IAAAA,eAAe,CAACkI,MAAD,EAAOhI,MAAP,EAAe,KAAKsb,WAAL,CAAiBtN,WAAhC,CAAf;AAEA,WAAOhO,MAAP;AACD;;SAEDgnB,gBAAA,yBAAgB;AAAA;;AACd3iB,IAAAA,YAAY,CAACkC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B+T,qBAA/B,EAAoDW,uBAApD,EAA2E;AAAA,aAAM,MAAI,CAAC3G,IAAL,EAAN;AAAA,KAA3E;AACD;;SAEDyX,gBAAA,yBAAgB;AACdvb,IAAAA,YAAY,CAAC,KAAK8T,QAAN,CAAZ;AACA,SAAKA,QAAL,GAAgB,IAAhB;AACD;;;QAIMjd,kBAAP,yBAAuB3J,MAAvB,EAA+B;AAC7B,WAAO,KAAK4J,IAAL,CAAU,YAAY;AAC3B,UAAInH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBiF,UAAnB,CAAX;;AACA,UAAM0I,OAAO,GAAG,OAAO5Q,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;AAEA,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAI2rB,KAAJ,CAAU,IAAV,EAAgBxd,OAAhB,CAAP;AACD;;AAED,UAAI,OAAO5Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIgV,SAAJ,wBAAkChV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ,CAAa,IAAb;AACD;AACF,KAfM,CAAP;AAgBD;;QAEM+J,cAAP,qBAAmBhM,OAAnB,EAA4B;AAC1B,WAAO+E,IAAI,CAACG,OAAL,CAAalF,OAAb,EAAsBmK,UAAtB,CAAP;AACD;;;;wBA5IoB;AACnB,aAAOD,SAAP;AACD;;;wBAEwB;AACvB,aAAO+F,aAAP;AACD;;;wBAEoB;AACnB,aAAOP,SAAP;AACD;;;;;AAqIH;AACA;AACA;AACA;AACA;AACA;;;AAEAxL,kBAAkB,CAAC,YAAM;AACvB,MAAMgF,CAAC,GAAGpF,SAAS,EAAnB;AACA;;AACA,MAAIoF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAACjD,EAAF,CAAKgE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAaomB,KAAK,CAACzkB,eAAnB;AACA1C,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWiC,WAAX,GAAyBmkB,KAAzB;;AACAnnB,IAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAACjD,EAAF,CAAKgE,MAAL,IAAagC,kBAAb;AACA,aAAOokB,KAAK,CAACzkB,eAAb;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;;;"} \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.min.js b/dist/js/bootstrap.esm.min.js
index 0e758b4b8b..265e0a46a0 100644
--- a/dist/js/bootstrap.esm.min.js
+++ b/dist/js/bootstrap.esm.min.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
-import Popper from"popper.js";function _defineProperties(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",toType=function(e){return null==e?""+e:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase()},getUID=function(e){do{e+=Math.floor(Math.random()*MAX_UID)}while(document.getElementById(e));return e},getSelector=function(e){var t=e.getAttribute("data-target");if(!t||"#"===t){var n=e.getAttribute("href");t=n&&"#"!==n?n.trim():null}return t},getSelectorFromElement=function(e){var t=getSelector(e);return t&&document.querySelector(t)?t:null},getElementFromSelector=function(e){var t=getSelector(e);return t?document.querySelector(t):null},getTransitionDurationFromElement=function(e){if(!e)return 0;var t=window.getComputedStyle(e),n=t.transitionDuration,i=t.transitionDelay,r=parseFloat(n),o=parseFloat(i);return r||o?(n=n.split(",")[0],i=i.split(",")[0],(parseFloat(n)+parseFloat(i))*MILLISECONDS_MULTIPLIER):0},triggerTransitionEnd=function(e){e.dispatchEvent(new Event(TRANSITION_END))},isElement=function(e){return(e[0]||e).nodeType},emulateTransitionEnd=function(e,t){var n=!1,i=t+5;e.addEventListener(TRANSITION_END,(function t(){n=!0,e.removeEventListener(TRANSITION_END,t)})),setTimeout((function(){n||triggerTransitionEnd(e)}),i)},typeCheckConfig=function(e,t,n){Object.keys(n).forEach((function(i){var r=n[i],o=t[i],a=o&&isElement(o)?"element":toType(o);if(!new RegExp(r).test(a))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},isVisible=function(e){if(!e)return!1;if(e.style&&e.parentNode&&e.parentNode.style){var t=getComputedStyle(e),n=getComputedStyle(e.parentNode);return"none"!==t.display&&"none"!==n.display&&"hidden"!==t.visibility}return!1},findShadowRoot=function e(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var n=t.getRootNode();return n instanceof ShadowRoot?n:null}return t instanceof ShadowRoot?t:t.parentNode?e(t.parentNode):null},noop=function(){return function(){}},reflow=function(e){return e.offsetHeight},getjQuery=function(){var e=window.jQuery;return e&&!document.body.hasAttribute("data-no-jquery")?e:null},mapData=function(){var e={},t=1;return{set:function(n,i,r){void 0===n.bsKey&&(n.bsKey={key:i,id:t},t++),e[n.bsKey.id]=r},get:function(t,n){if(!t||void 0===t.bsKey)return null;var i=t.bsKey;return i.key===n?e[i.id]:null},delete:function(t,n){if(void 0!==t.bsKey){var i=t.bsKey;i.key===n&&(delete e[i.id],delete t.bsKey)}}}}(),Data={setData:function(e,t,n){mapData.set(e,t,n)},getData:function(e,t){return mapData.get(e,t)},removeData:function(e,t){mapData.delete(e,t)}},find=Element.prototype.querySelectorAll,findOne=Element.prototype.querySelector,defaultPreventedPreservedOnDispatch=function(){var e=new CustomEvent("Bootstrap",{cancelable:!0}),t=document.createElement("div");return t.addEventListener("Bootstrap",(function(){return null})),e.preventDefault(),t.dispatchEvent(e),e.defaultPrevented}(),scopeSelectorRegex=/:scope\b/,supportScopeQuery=function(){var e=document.createElement("div");try{e.querySelectorAll(":scope *")}catch(e){return!1}return!0}();supportScopeQuery||(find=function(e){if(!scopeSelectorRegex.test(e))return this.querySelectorAll(e);var t=Boolean(this.id);t||(this.id=getUID("scope"));var n=null;try{e=e.replace(scopeSelectorRegex,"#"+this.id),n=this.querySelectorAll(e)}finally{t||this.removeAttribute("id")}return n},findOne=function(e){if(!scopeSelectorRegex.test(e))return this.querySelector(e);var t=find.call(this,e);return void 0!==t[0]?t[0]:null});var $=getjQuery(),namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={},uidEvent=1,customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=["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 getUidEvent(e,t){return t&&t+"::"+uidEvent++||e.uidEvent||uidEvent++}function getEvent(e){var t=getUidEvent(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(i){return i.delegateTarget=e,n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(r){for(var o=e.querySelectorAll(t),a=r.target;a&&a!==this;a=a.parentNode)for(var s=o.length;s--;)if(o[s]===a)return r.delegateTarget=a,i.oneOff&&EventHandler.off(e,r.type,n),n.apply(a,[r]);return null}}function findHandler(e,t,n){void 0===n&&(n=null);for(var i=Object.keys(e),r=0,o=i.length;r<o;r++){var a=e[i[r]];if(a.originalHandler===t&&a.delegationSelector===n)return a}return null}function normalizeParams(e,t,n){var i="string"==typeof t,r=i?n:t,o=e.replace(stripNameRegex,""),a=customEvents[o];return a&&(o=a),nativeEvents.indexOf(o)>-1||(o=e),[i,r,o]}function addHandler(e,t,n,i,r){if("string"==typeof t&&e){n||(n=i,i=null);var o=normalizeParams(t,n,i),a=o[0],s=o[1],l=o[2],E=getEvent(e),_=E[l]||(E[l]={}),c=findHandler(_,s,a?n:null);if(c)c.oneOff=c.oneOff&&r;else{var u=getUidEvent(s,t.replace(namespaceRegex,"")),f=a?bootstrapDelegationHandler(e,n,i):bootstrapHandler(e,n);f.delegationSelector=a?n:null,f.originalHandler=s,f.oneOff=r,f.uidEvent=u,_[u]=f,e.addEventListener(l,f,a)}}}function removeHandler(e,t,n,i,r){var o=findHandler(t[n],i,r);o&&(e.removeEventListener(n,o,Boolean(r)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,i){var r=t[n]||{};Object.keys(r).forEach((function(o){if(o.indexOf(i)>-1){var a=r[o];removeHandler(e,t,n,a.originalHandler,a.delegationSelector)}}))}var EventHandler={on:function(e,t,n,i){addHandler(e,t,n,i,!1)},one:function(e,t,n,i){addHandler(e,t,n,i,!0)},off:function(e,t,n,i){if("string"==typeof t&&e){var r=normalizeParams(t,n,i),o=r[0],a=r[1],s=r[2],l=s!==t,E=getEvent(e),_="."===t.charAt(0);if(void 0===a){_&&Object.keys(E).forEach((function(n){removeNamespacedHandlers(e,E,n,t.slice(1))}));var c=E[s]||{};Object.keys(c).forEach((function(n){var i=n.replace(stripUidRegex,"");if(!l||t.indexOf(i)>-1){var r=c[n];removeHandler(e,E,s,r.originalHandler,r.delegationSelector)}}))}else{if(!E||!E[s])return;removeHandler(e,E,s,a,o?n:null)}}},trigger:function(e,t,n){if("string"!=typeof t||!e)return null;var i,r=t.replace(stripNameRegex,""),o=t!==r,a=nativeEvents.indexOf(r)>-1,s=!0,l=!0,E=!1,_=null;return o&&$&&(i=$.Event(t,n),$(e).trigger(i),s=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),E=i.isDefaultPrevented()),a?(_=document.createEvent("HTMLEvents")).initEvent(r,s,!0):_=new CustomEvent(t,{bubbles:s,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(e){Object.defineProperty(_,e,{get:function(){return n[e]}})})),E&&(_.preventDefault(),defaultPreventedPreservedOnDispatch||Object.defineProperty(_,"defaultPrevented",{get:function(){return!0}})),l&&e.dispatchEvent(_),_.defaultPrevented&&void 0!==i&&i.preventDefault(),_}},NAME="alert",VERSION="5.0.0-alpha2",DATA_KEY="bs.alert",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",SELECTOR_DISMISS='[data-dismiss="alert"]',EVENT_CLOSE="close"+EVENT_KEY,EVENT_CLOSED="closed"+EVENT_KEY,EVENT_CLICK_DATA_API="click"+EVENT_KEY+DATA_API_KEY,CLASSNAME_ALERT="alert",CLASSNAME_FADE="fade",CLASSNAME_SHOW="show",Alert=function(){function e(e){this._element=e,this._element&&Data.setData(e,DATA_KEY,this)}var t=e.prototype;return t.close=function(e){var t=e?this._getRootElement(e):this._element,n=this._triggerCloseEvent(t);null===n||n.defaultPrevented||this._removeElement(t)},t.dispose=function(){Data.removeData(this._element,DATA_KEY),this._element=null},t._getRootElement=function(e){return getElementFromSelector(e)||e.closest("."+CLASSNAME_ALERT)},t._triggerCloseEvent=function(e){return EventHandler.trigger(e,EVENT_CLOSE)},t._removeElement=function(e){var t=this;if(e.classList.remove(CLASSNAME_SHOW),e.classList.contains(CLASSNAME_FADE)){var n=getTransitionDurationFromElement(e);EventHandler.one(e,TRANSITION_END,(function(){return t._destroyElement(e)})),emulateTransitionEnd(e,n)}else this._destroyElement(e)},t._destroyElement=function(e){e.parentNode&&e.parentNode.removeChild(e),EventHandler.trigger(e,EVENT_CLOSED)},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY);n||(n=new e(this)),"close"===t&&n[t](this)}))},e.handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},e.getInstance=function(e){return Data.getData(e,DATA_KEY)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API,SELECTOR_DISMISS,Alert.handleDismiss(new Alert));var $$1=getjQuery();if($$1){var JQUERY_NO_CONFLICT=$$1.fn[NAME];$$1.fn[NAME]=Alert.jQueryInterface,$$1.fn[NAME].Constructor=Alert,$$1.fn[NAME].noConflict=function(){return $$1.fn[NAME]=JQUERY_NO_CONFLICT,Alert.jQueryInterface}}var NAME$1="button",VERSION$1="5.0.0-alpha2",DATA_KEY$1="bs.button",EVENT_KEY$1="."+DATA_KEY$1,DATA_API_KEY$1=".data-api",CLASS_NAME_ACTIVE="active",SELECTOR_DATA_TOGGLE='[data-toggle="button"]',EVENT_CLICK_DATA_API$1="click"+EVENT_KEY$1+DATA_API_KEY$1,Button=function(){function e(e){this._element=e,Data.setData(e,DATA_KEY$1,this)}var t=e.prototype;return t.toggle=function(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(CLASS_NAME_ACTIVE))},t.dispose=function(){Data.removeData(this._element,DATA_KEY$1),this._element=null},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$1);n||(n=new e(this)),"toggle"===t&&n[t]()}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$1)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$1}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE,(function(e){e.preventDefault();var t=e.target.closest(SELECTOR_DATA_TOGGLE),n=Data.getData(t,DATA_KEY$1);n||(n=new Button(t)),n.toggle()}));var $$2=getjQuery();if($$2){var JQUERY_NO_CONFLICT$1=$$2.fn[NAME$1];$$2.fn[NAME$1]=Button.jQueryInterface,$$2.fn[NAME$1].Constructor=Button,$$2.fn[NAME$1].noConflict=function(){return $$2.fn[NAME$1]=JQUERY_NO_CONFLICT$1,Button.jQueryInterface}}function normalizeData(e){return"true"===e||"false"!==e&&(e===Number(e).toString()?Number(e):""===e||"null"===e?null:e)}function normalizeDataKey(e){return e.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}))}var Manipulator={setDataAttribute:function(e,t,n){e.setAttribute("data-"+normalizeDataKey(t),n)},removeDataAttribute:function(e,t){e.removeAttribute("data-"+normalizeDataKey(t))},getDataAttributes:function(e){if(!e)return{};var t=_extends({},e.dataset);return Object.keys(t).forEach((function(e){t[e]=normalizeData(t[e])})),t},getDataAttribute:function(e,t){return normalizeData(e.getAttribute("data-"+normalizeDataKey(t)))},offset:function(e){var t=e.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}},position:function(e){return{top:e.offsetTop,left:e.offsetLeft}},toggleClass:function(e,t){e&&(e.classList.contains(t)?e.classList.remove(t):e.classList.add(t))}},NODE_TEXT=3,SelectorEngine={matches:function(e,t){return e.matches(t)},find:function(e,t){var n;return void 0===t&&(t=document.documentElement),(n=[]).concat.apply(n,find.call(t,e))},findOne:function(e,t){return void 0===t&&(t=document.documentElement),findOne.call(t,e)},children:function(e,t){var n,i=(n=[]).concat.apply(n,e.children);return i.filter((function(e){return e.matches(t)}))},parents:function(e,t){for(var n=[],i=e.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==NODE_TEXT;)this.matches(i,t)&&n.push(i),i=i.parentNode;return n},prev:function(e,t){for(var n=e.previousElementSibling;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next:function(e,t){for(var n=e.nextElementSibling;n;){if(this.matches(n,t))return[n];n=n.nextElementSibling}return[]}},NAME$2="carousel",VERSION$2="5.0.0-alpha2",DATA_KEY$2="bs.carousel",EVENT_KEY$2="."+DATA_KEY$2,DATA_API_KEY$2=".data-api",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,SWIPE_THRESHOLD=40,Default={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},DefaultType={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},DIRECTION_NEXT="next",DIRECTION_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE="slide"+EVENT_KEY$2,EVENT_SLID="slid"+EVENT_KEY$2,EVENT_KEYDOWN="keydown"+EVENT_KEY$2,EVENT_MOUSEENTER="mouseenter"+EVENT_KEY$2,EVENT_MOUSELEAVE="mouseleave"+EVENT_KEY$2,EVENT_TOUCHSTART="touchstart"+EVENT_KEY$2,EVENT_TOUCHMOVE="touchmove"+EVENT_KEY$2,EVENT_TOUCHEND="touchend"+EVENT_KEY$2,EVENT_POINTERDOWN="pointerdown"+EVENT_KEY$2,EVENT_POINTERUP="pointerup"+EVENT_KEY$2,EVENT_DRAG_START="dragstart"+EVENT_KEY$2,EVENT_LOAD_DATA_API="load"+EVENT_KEY$2+DATA_API_KEY$2,EVENT_CLICK_DATA_API$2="click"+EVENT_KEY$2+DATA_API_KEY$2,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$1="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_RIGHT="carousel-item-right",CLASS_NAME_LEFT="carousel-item-left",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",CLASS_NAME_POINTER_EVENT="pointer-event",SELECTOR_ACTIVE=".active",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM=".carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_NEXT_PREV=".carousel-item-next, .carousel-item-prev",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-slide], [data-slide-to]",SELECTOR_DATA_RIDE='[data-ride="carousel"]',PointerType={TOUCH:"touch",PEN:"pen"},Carousel=function(){function e(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._element=e,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners(),Data.setData(e,DATA_KEY$2,this)}var t=e.prototype;return t.next=function(){this._isSliding||this._slide(DIRECTION_NEXT)},t.nextWhenVisible=function(){!document.hidden&&isVisible(this._element)&&this.next()},t.prev=function(){this._isSliding||this._slide(DIRECTION_PREV)},t.pause=function(e){e||(this._isPaused=!0),SelectorEngine.findOne(SELECTOR_NEXT_PREV,this._element)&&(triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(e){var t=this;this._activeElement=SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)EventHandler.one(this._element,EVENT_SLID,(function(){return t.to(e)}));else{if(n===e)return this.pause(),void this.cycle();var i=e>n?DIRECTION_NEXT:DIRECTION_PREV;this._slide(i,this._items[e])}},t.dispose=function(){EventHandler.off(this._element,EVENT_KEY$2),Data.removeData(this._element,DATA_KEY$2),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(e){return e=_extends({},Default,e),typeCheckConfig(NAME$2,e,DefaultType),e},t._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=SWIPE_THRESHOLD)){var t=e/this.touchDeltaX;this.touchDeltaX=0,t>0&&this.prev(),t<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN,(function(t){return e._keydown(t)})),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER,(function(t){return e.pause(t)})),EventHandler.on(this._element,EVENT_MOUSELEAVE,(function(t){return e.cycle(t)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var e=this,t=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]?e.touchStartX=t.clientX:e._pointerEvent||(e.touchStartX=t.touches[0].clientX)},n=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]&&(e.touchDeltaX=t.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout((function(t){return e.cycle(t)}),TOUCHEVENT_COMPAT_WAIT+e._config.interval))};SelectorEngine.find(SELECTOR_ITEM_IMG,this._element).forEach((function(e){EventHandler.on(e,EVENT_DRAG_START,(function(e){return e.preventDefault()}))})),this._pointerEvent?(EventHandler.on(this._element,EVENT_POINTERDOWN,(function(e){return t(e)})),EventHandler.on(this._element,EVENT_POINTERUP,(function(e){return n(e)})),this._element.classList.add(CLASS_NAME_POINTER_EVENT)):(EventHandler.on(this._element,EVENT_TOUCHSTART,(function(e){return t(e)})),EventHandler.on(this._element,EVENT_TOUCHMOVE,(function(t){return function(t){t.touches&&t.touches.length>1?e.touchDeltaX=0:e.touchDeltaX=t.touches[0].clientX-e.touchStartX}(t)})),EventHandler.on(this._element,EVENT_TOUCHEND,(function(e){return n(e)})))},t._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.key){case ARROW_LEFT_KEY:e.preventDefault(),this.prev();break;case ARROW_RIGHT_KEY:e.preventDefault(),this.next()}},t._getItemIndex=function(e){return this._items=e&&e.parentNode?SelectorEngine.find(SELECTOR_ITEM,e.parentNode):[],this._items.indexOf(e)},t._getItemByDirection=function(e,t){var n=e===DIRECTION_NEXT,i=e===DIRECTION_PREV,r=this._getItemIndex(t),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return t;var a=(r+(e===DIRECTION_PREV?-1:1))%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},t._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element));return EventHandler.trigger(this._element,EVENT_SLIDE,{relatedTarget:e,direction:t,from:i,to:n})},t._setActiveIndicatorElement=function(e){if(this._indicatorsElement){for(var t=SelectorEngine.find(SELECTOR_ACTIVE,this._indicatorsElement),n=0;n<t.length;n++)t[n].classList.remove(CLASS_NAME_ACTIVE$1);var i=this._indicatorsElement.children[this._getItemIndex(e)];i&&i.classList.add(CLASS_NAME_ACTIVE$1)}},t._slide=function(e,t){var n,i,r,o=this,a=SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element),s=this._getItemIndex(a),l=t||a&&this._getItemByDirection(e,a),E=this._getItemIndex(l),_=Boolean(this._interval);if(e===DIRECTION_NEXT?(n=CLASS_NAME_LEFT,i=CLASS_NAME_NEXT,r=DIRECTION_LEFT):(n=CLASS_NAME_RIGHT,i=CLASS_NAME_PREV,r=DIRECTION_RIGHT),l&&l.classList.contains(CLASS_NAME_ACTIVE$1))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).defaultPrevented&&a&&l){if(this._isSliding=!0,_&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains(CLASS_NAME_SLIDE)){l.classList.add(i),reflow(l),a.classList.add(n),l.classList.add(n);var c=parseInt(l.getAttribute("data-interval"),10);c?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=c):this._config.interval=this._config.defaultInterval||this._config.interval;var u=getTransitionDurationFromElement(a);EventHandler.one(a,TRANSITION_END,(function(){l.classList.remove(n,i),l.classList.add(CLASS_NAME_ACTIVE$1),a.classList.remove(CLASS_NAME_ACTIVE$1,i,n),o._isSliding=!1,setTimeout((function(){EventHandler.trigger(o._element,EVENT_SLID,{relatedTarget:l,direction:r,from:s,to:E})}),0)})),emulateTransitionEnd(a,u)}else a.classList.remove(CLASS_NAME_ACTIVE$1),l.classList.add(CLASS_NAME_ACTIVE$1),this._isSliding=!1,EventHandler.trigger(this._element,EVENT_SLID,{relatedTarget:l,direction:r,from:s,to:E});_&&this.cycle()}},e.carouselInterface=function(t,n){var i=Data.getData(t,DATA_KEY$2),r=_extends({},Default,Manipulator.getDataAttributes(t));"object"==typeof n&&(r=_extends({},r,n));var o="string"==typeof n?n:r.slide;if(i||(i=new e(t,r)),"number"==typeof n)i.to(n);else if("string"==typeof o){if(void 0===i[o])throw new TypeError('No method named "'+o+'"');i[o]()}else r.interval&&r.ride&&(i.pause(),i.cycle())},e.jQueryInterface=function(t){return this.each((function(){e.carouselInterface(this,t)}))},e.dataApiClickHandler=function(t){var n=getElementFromSelector(this);if(n&&n.classList.contains(CLASS_NAME_CAROUSEL)){var i=_extends({},Manipulator.getDataAttributes(n),Manipulator.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),e.carouselInterface(n,i),r&&Data.getData(n,DATA_KEY$2).to(r),t.preventDefault()}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$2)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$2}},{key:"Default",get:function(){return Default}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_SLIDE,Carousel.dataApiClickHandler),EventHandler.on(window,EVENT_LOAD_DATA_API,(function(){for(var e=SelectorEngine.find(SELECTOR_DATA_RIDE),t=0,n=e.length;t<n;t++)Carousel.carouselInterface(e[t],Data.getData(e[t],DATA_KEY$2))}));var $$3=getjQuery();if($$3){var JQUERY_NO_CONFLICT$2=$$3.fn[NAME$2];$$3.fn[NAME$2]=Carousel.jQueryInterface,$$3.fn[NAME$2].Constructor=Carousel,$$3.fn[NAME$2].noConflict=function(){return $$3.fn[NAME$2]=JQUERY_NO_CONFLICT$2,Carousel.jQueryInterface}}var NAME$3="collapse",VERSION$3="5.0.0-alpha2",DATA_KEY$3="bs.collapse",EVENT_KEY$3="."+DATA_KEY$3,DATA_API_KEY$3=".data-api",Default$1={toggle:!0,parent:""},DefaultType$1={toggle:"boolean",parent:"(string|element)"},EVENT_SHOW="show"+EVENT_KEY$3,EVENT_SHOWN="shown"+EVENT_KEY$3,EVENT_HIDE="hide"+EVENT_KEY$3,EVENT_HIDDEN="hidden"+EVENT_KEY$3,EVENT_CLICK_DATA_API$3="click"+EVENT_KEY$3+DATA_API_KEY$3,CLASS_NAME_SHOW="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".show, .collapsing",SELECTOR_DATA_TOGGLE$1='[data-toggle="collapse"]',Collapse=function(){function e(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=SelectorEngine.find(SELECTOR_DATA_TOGGLE$1+'[href="#'+e.id+'"],'+SELECTOR_DATA_TOGGLE$1+'[data-target="#'+e.id+'"]');for(var n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$1),i=0,r=n.length;i<r;i++){var o=n[i],a=getSelectorFromElement(o),s=SelectorEngine.find(a).filter((function(t){return t===e}));null!==a&&s.length&&(this._selector=a,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),Data.setData(e,DATA_KEY$3,this)}var t=e.prototype;return t.toggle=function(){this._element.classList.contains(CLASS_NAME_SHOW)?this.hide():this.show()},t.show=function(){var t=this;if(!this._isTransitioning&&!this._element.classList.contains(CLASS_NAME_SHOW)){var n,i;this._parent&&0===(n=SelectorEngine.find(SELECTOR_ACTIVES,this._parent).filter((function(e){return"string"==typeof t._config.parent?e.getAttribute("data-parent")===t._config.parent:e.classList.contains(CLASS_NAME_COLLAPSE)}))).length&&(n=null);var r=SelectorEngine.findOne(this._selector);if(n){var o=n.filter((function(e){return r!==e}));if((i=o[0]?Data.getData(o[0],DATA_KEY$3):null)&&i._isTransitioning)return}if(!EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented){n&&n.forEach((function(t){r!==t&&e.collapseInterface(t,"hide"),i||Data.setData(t,DATA_KEY$3,null)}));var a=this._getDimension();this._element.classList.remove(CLASS_NAME_COLLAPSE),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.style[a]=0,this._triggerArray.length&&this._triggerArray.forEach((function(e){e.classList.remove(CLASS_NAME_COLLAPSED),e.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var s="scroll"+(a[0].toUpperCase()+a.slice(1)),l=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){t._element.classList.remove(CLASS_NAME_COLLAPSING),t._element.classList.add(CLASS_NAME_COLLAPSE,CLASS_NAME_SHOW),t._element.style[a]="",t.setTransitioning(!1),EventHandler.trigger(t._element,EVENT_SHOWN)})),emulateTransitionEnd(this._element,l),this._element.style[a]=this._element[s]+"px"}}},t.hide=function(){var e=this;if(!this._isTransitioning&&this._element.classList.contains(CLASS_NAME_SHOW)&&!EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented){var t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",reflow(this._element),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.classList.remove(CLASS_NAME_COLLAPSE,CLASS_NAME_SHOW);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var r=this._triggerArray[i],o=getElementFromSelector(r);o&&!o.classList.contains(CLASS_NAME_SHOW)&&(r.classList.add(CLASS_NAME_COLLAPSED),r.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[t]="";var a=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){e.setTransitioning(!1),e._element.classList.remove(CLASS_NAME_COLLAPSING),e._element.classList.add(CLASS_NAME_COLLAPSE),EventHandler.trigger(e._element,EVENT_HIDDEN)})),emulateTransitionEnd(this._element,a)}},t.setTransitioning=function(e){this._isTransitioning=e},t.dispose=function(){Data.removeData(this._element,DATA_KEY$3),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(e){return(e=_extends({},Default$1,e)).toggle=Boolean(e.toggle),typeCheckConfig(NAME$3,e,DefaultType$1),e},t._getDimension=function(){return this._element.classList.contains(WIDTH)?WIDTH:HEIGHT},t._getParent=function(){var e=this,t=this._config.parent;isElement(t)?void 0===t.jquery&&void 0===t[0]||(t=t[0]):t=SelectorEngine.findOne(t);var n=SELECTOR_DATA_TOGGLE$1+'[data-parent="'+t+'"]';return SelectorEngine.find(n,t).forEach((function(t){var n=getElementFromSelector(t);e._addAriaAndCollapsedClass(n,[t])})),t},t._addAriaAndCollapsedClass=function(e,t){if(e&&t.length){var n=e.classList.contains(CLASS_NAME_SHOW);t.forEach((function(e){n?e.classList.remove(CLASS_NAME_COLLAPSED):e.classList.add(CLASS_NAME_COLLAPSED),e.setAttribute("aria-expanded",n)}))}},e.collapseInterface=function(t,n){var i=Data.getData(t,DATA_KEY$3),r=_extends({},Default$1,Manipulator.getDataAttributes(t),"object"==typeof n&&n?n:{});if(!i&&r.toggle&&"string"==typeof n&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new e(t,r)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.collapseInterface(this,t)}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$3)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$3}},{key:"Default",get:function(){return Default$1}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$1,(function(e){"A"===e.target.tagName&&e.preventDefault();var t=Manipulator.getDataAttributes(this),n=getSelectorFromElement(this);SelectorEngine.find(n).forEach((function(e){var n,i=Data.getData(e,DATA_KEY$3);i?(null===i._parent&&"string"==typeof t.parent&&(i._config.parent=t.parent,i._parent=i._getParent()),n="toggle"):n=t,Collapse.collapseInterface(e,n)}))}));var $$4=getjQuery();if($$4){var JQUERY_NO_CONFLICT$3=$$4.fn[NAME$3];$$4.fn[NAME$3]=Collapse.jQueryInterface,$$4.fn[NAME$3].Constructor=Collapse,$$4.fn[NAME$3].noConflict=function(){return $$4.fn[NAME$3]=JQUERY_NO_CONFLICT$3,Collapse.jQueryInterface}}var NAME$4="dropdown",VERSION$4="5.0.0-alpha2",DATA_KEY$4="bs.dropdown",EVENT_KEY$4="."+DATA_KEY$4,DATA_API_KEY$4=".data-api",ESCAPE_KEY="Escape",SPACE_KEY="Space",TAB_KEY="Tab",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",RIGHT_MOUSE_BUTTON=2,REGEXP_KEYDOWN=new RegExp(ARROW_UP_KEY+"|"+ARROW_DOWN_KEY+"|"+ESCAPE_KEY),EVENT_HIDE$1="hide"+EVENT_KEY$4,EVENT_HIDDEN$1="hidden"+EVENT_KEY$4,EVENT_SHOW$1="show"+EVENT_KEY$4,EVENT_SHOWN$1="shown"+EVENT_KEY$4,EVENT_CLICK="click"+EVENT_KEY$4,EVENT_CLICK_DATA_API$4="click"+EVENT_KEY$4+DATA_API_KEY$4,EVENT_KEYDOWN_DATA_API="keydown"+EVENT_KEY$4+DATA_API_KEY$4,EVENT_KEYUP_DATA_API="keyup"+EVENT_KEY$4+DATA_API_KEY$4,CLASS_NAME_DISABLED="disabled",CLASS_NAME_SHOW$1="show",CLASS_NAME_DROPUP="dropup",CLASS_NAME_DROPRIGHT="dropright",CLASS_NAME_DROPLEFT="dropleft",CLASS_NAME_MENURIGHT="dropdown-menu-right",CLASS_NAME_NAVBAR="navbar",CLASS_NAME_POSITION_STATIC="position-static",SELECTOR_DATA_TOGGLE$2='[data-toggle="dropdown"]',SELECTOR_FORM_CHILD=".dropdown form",SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",PLACEMENT_TOP="top-start",PLACEMENT_TOPEND="top-end",PLACEMENT_BOTTOM="bottom-start",PLACEMENT_BOTTOMEND="bottom-end",PLACEMENT_RIGHT="right-start",PLACEMENT_LEFT="left-start",Default$2={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},DefaultType$2={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Dropdown=function(){function e(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),Data.setData(e,DATA_KEY$4,this)}var t=e.prototype;return t.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(CLASS_NAME_DISABLED)){var t=this._element.classList.contains(CLASS_NAME_SHOW$1);e.clearMenus(),t||this.show()}},t.show=function(){if(!(this._element.disabled||this._element.classList.contains(CLASS_NAME_DISABLED)||this._menu.classList.contains(CLASS_NAME_SHOW$1))){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$1,n).defaultPrevented){if(!this._inNavbar){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=t:isElement(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&t.classList.add(CLASS_NAME_POSITION_STATIC),this._popper=new Popper(i,this._menu,this._getPopperConfig())}var r;if("ontouchstart"in document.documentElement&&!t.closest(SELECTOR_NAVBAR_NAV))(r=[]).concat.apply(r,document.body.children).forEach((function(e){return EventHandler.on(e,"mouseover",null,noop())}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),Manipulator.toggleClass(this._menu,CLASS_NAME_SHOW$1),Manipulator.toggleClass(this._element,CLASS_NAME_SHOW$1),EventHandler.trigger(t,EVENT_SHOWN$1,n)}}},t.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(CLASS_NAME_DISABLED)&&this._menu.classList.contains(CLASS_NAME_SHOW$1)){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};EventHandler.trigger(t,EVENT_HIDE$1,n).defaultPrevented||(this._popper&&this._popper.destroy(),Manipulator.toggleClass(this._menu,CLASS_NAME_SHOW$1),Manipulator.toggleClass(this._element,CLASS_NAME_SHOW$1),EventHandler.trigger(t,EVENT_HIDDEN$1,n))}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$4),EventHandler.off(this._element,EVENT_KEY$4),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;EventHandler.on(this._element,EVENT_CLICK,(function(t){t.preventDefault(),t.stopPropagation(),e.toggle()}))},t._getConfig=function(e){return e=_extends({},this.constructor.Default,Manipulator.getDataAttributes(this._element),e),typeCheckConfig(NAME$4,e,this.constructor.DefaultType),e},t._getMenuElement=function(){return SelectorEngine.next(this._element,SELECTOR_MENU)[0]},t._getPlacement=function(){var e=this._element.parentNode,t=PLACEMENT_BOTTOM;return e.classList.contains(CLASS_NAME_DROPUP)?(t=PLACEMENT_TOP,this._menu.classList.contains(CLASS_NAME_MENURIGHT)&&(t=PLACEMENT_TOPEND)):e.classList.contains(CLASS_NAME_DROPRIGHT)?t=PLACEMENT_RIGHT:e.classList.contains(CLASS_NAME_DROPLEFT)?t=PLACEMENT_LEFT:this._menu.classList.contains(CLASS_NAME_MENURIGHT)&&(t=PLACEMENT_BOTTOMEND),t},t._detectNavbar=function(){return Boolean(this._element.closest("."+CLASS_NAME_NAVBAR))},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=_extends({},t.offsets,e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),_extends({},e,this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=Data.getData(t,DATA_KEY$4);if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.dropdownInterface(this,t)}))},e.clearMenus=function(t){if(!t||t.button!==RIGHT_MOUSE_BUTTON&&("keyup"!==t.type||t.key===TAB_KEY))for(var n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$2),i=0,r=n.length;i<r;i++){var o=e.getParentFromElement(n[i]),a=Data.getData(n[i],DATA_KEY$4),s={relatedTarget:n[i]};if(t&&"click"===t.type&&(s.clickEvent=t),a){var l=a._menu;if(n[i].classList.contains(CLASS_NAME_SHOW$1))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&t.key===TAB_KEY)&&l.contains(t.target)))if(!EventHandler.trigger(o,EVENT_HIDE$1,s).defaultPrevented){var E;if("ontouchstart"in document.documentElement)(E=[]).concat.apply(E,document.body.children).forEach((function(e){return EventHandler.off(e,"mouseover",null,noop())}));n[i].setAttribute("aria-expanded","false"),a._popper&&a._popper.destroy(),l.classList.remove(CLASS_NAME_SHOW$1),n[i].classList.remove(CLASS_NAME_SHOW$1),EventHandler.trigger(o,EVENT_HIDDEN$1,s)}}}},e.getParentFromElement=function(e){return getElementFromSelector(e)||e.parentNode},e.dataApiKeydownHandler=function(t){if(!(/input|textarea/i.test(t.target.tagName)?t.key===SPACE_KEY||t.key!==ESCAPE_KEY&&(t.key!==ARROW_DOWN_KEY&&t.key!==ARROW_UP_KEY||t.target.closest(SELECTOR_MENU)):!REGEXP_KEYDOWN.test(t.key))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains(CLASS_NAME_DISABLED))){var n=e.getParentFromElement(this),i=this.classList.contains(CLASS_NAME_SHOW$1);if(t.key===ESCAPE_KEY)return(this.matches(SELECTOR_DATA_TOGGLE$2)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$2)[0]).focus(),void e.clearMenus();if(i&&t.key!==SPACE_KEY){var r=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,n).filter(isVisible);if(r.length){var o=r.indexOf(t.target);t.key===ARROW_UP_KEY&&o>0&&o--,t.key===ARROW_DOWN_KEY&&o<r.length-1&&o++,r[o=-1===o?0:o].focus()}}else e.clearMenus()}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$4)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$4}},{key:"Default",get:function(){return Default$2}},{key:"DefaultType",get:function(){return DefaultType$2}}]),e}();EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$2,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$4,Dropdown.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$2,(function(e){e.preventDefault(),e.stopPropagation(),Dropdown.dropdownInterface(this,"toggle")})),EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_FORM_CHILD,(function(e){return e.stopPropagation()}));var $$5=getjQuery();if($$5){var JQUERY_NO_CONFLICT$4=$$5.fn[NAME$4];$$5.fn[NAME$4]=Dropdown.jQueryInterface,$$5.fn[NAME$4].Constructor=Dropdown,$$5.fn[NAME$4].noConflict=function(){return $$5.fn[NAME$4]=JQUERY_NO_CONFLICT$4,Dropdown.jQueryInterface}}var NAME$5="modal",VERSION$5="5.0.0-alpha2",DATA_KEY$5="bs.modal",EVENT_KEY$5="."+DATA_KEY$5,DATA_API_KEY$5=".data-api",ESCAPE_KEY$1="Escape",Default$3={backdrop:!0,keyboard:!0,focus:!0,show:!0},DefaultType$3={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},EVENT_HIDE$2="hide"+EVENT_KEY$5,EVENT_HIDE_PREVENTED="hidePrevented"+EVENT_KEY$5,EVENT_HIDDEN$2="hidden"+EVENT_KEY$5,EVENT_SHOW$2="show"+EVENT_KEY$5,EVENT_SHOWN$2="shown"+EVENT_KEY$5,EVENT_FOCUSIN="focusin"+EVENT_KEY$5,EVENT_RESIZE="resize"+EVENT_KEY$5,EVENT_CLICK_DISMISS="click.dismiss"+EVENT_KEY$5,EVENT_KEYDOWN_DISMISS="keydown.dismiss"+EVENT_KEY$5,EVENT_MOUSEUP_DISMISS="mouseup.dismiss"+EVENT_KEY$5,EVENT_MOUSEDOWN_DISMISS="mousedown.dismiss"+EVENT_KEY$5,EVENT_CLICK_DATA_API$5="click"+EVENT_KEY$5+DATA_API_KEY$5,CLASS_NAME_SCROLLBAR_MEASURER="modal-scrollbar-measure",CLASS_NAME_BACKDROP="modal-backdrop",CLASS_NAME_OPEN="modal-open",CLASS_NAME_FADE="fade",CLASS_NAME_SHOW$2="show",CLASS_NAME_STATIC="modal-static",SELECTOR_DIALOG=".modal-dialog",SELECTOR_MODAL_BODY=".modal-body",SELECTOR_DATA_TOGGLE$3='[data-toggle="modal"]',SELECTOR_DATA_DISMISS='[data-dismiss="modal"]',SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",Modal=function(){function e(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=SelectorEngine.findOne(SELECTOR_DIALOG,e),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,Data.setData(e,DATA_KEY$5,this)}var t=e.prototype;return t.toggle=function(e){return this._isShown?this.hide():this.show(e)},t.show=function(e){var t=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(CLASS_NAME_FADE)&&(this._isTransitioning=!0);var n=EventHandler.trigger(this._element,EVENT_SHOW$2,{relatedTarget:e});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.on(this._element,EVENT_CLICK_DISMISS,SELECTOR_DATA_DISMISS,(function(e){return t.hide(e)})),EventHandler.on(this._dialog,EVENT_MOUSEDOWN_DISMISS,(function(){EventHandler.one(t._element,EVENT_MOUSEUP_DISMISS,(function(e){e.target===t._element&&(t._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return t._showElement(e)})))}},t.hide=function(e){var t=this;if((e&&e.preventDefault(),this._isShown&&!this._isTransitioning)&&!EventHandler.trigger(this._element,EVENT_HIDE$2).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(CLASS_NAME_FADE);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.off(document,EVENT_FOCUSIN),this._element.classList.remove(CLASS_NAME_SHOW$2),EventHandler.off(this._element,EVENT_CLICK_DISMISS),EventHandler.off(this._dialog,EVENT_MOUSEDOWN_DISMISS),n){var i=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(e){return t._hideModal(e)})),emulateTransitionEnd(this._element,i)}else this._hideModal()}},t.dispose=function(){[window,this._element,this._dialog].forEach((function(e){return EventHandler.off(e,EVENT_KEY$5)})),EventHandler.off(document,EVENT_FOCUSIN),Data.removeData(this._element,DATA_KEY$5),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(e){return e=_extends({},Default$3,e),typeCheckConfig(NAME$5,e,DefaultType$3),e},t._showElement=function(e){var t=this,n=this._element.classList.contains(CLASS_NAME_FADE),i=SelectorEngine.findOne(SELECTOR_MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),n&&reflow(this._element),this._element.classList.add(CLASS_NAME_SHOW$2),this._config.focus&&this._enforceFocus();var r=function(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,EventHandler.trigger(t._element,EVENT_SHOWN$2,{relatedTarget:e})};if(n){var o=getTransitionDurationFromElement(this._dialog);EventHandler.one(this._dialog,TRANSITION_END,r),emulateTransitionEnd(this._dialog,o)}else r()},t._enforceFocus=function(){var e=this;EventHandler.off(document,EVENT_FOCUSIN),EventHandler.on(document,EVENT_FOCUSIN,(function(t){document===t.target||e._element===t.target||e._element.contains(t.target)||e._element.focus()}))},t._setEscapeEvent=function(){var e=this;this._isShown?EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,(function(t){e._config.keyboard&&t.key===ESCAPE_KEY$1?(t.preventDefault(),e.hide()):e._config.keyboard||t.key!==ESCAPE_KEY$1||e._triggerBackdropTransition()})):EventHandler.off(this._element,EVENT_KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?EventHandler.on(window,EVENT_RESIZE,(function(){return e._adjustDialog()})):EventHandler.off(window,EVENT_RESIZE)},t._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove(CLASS_NAME_OPEN),e._resetAdjustments(),e._resetScrollbar(),EventHandler.trigger(e._element,EVENT_HIDDEN$2)}))},t._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},t._showBackdrop=function(e){var t=this,n=this._element.classList.contains(CLASS_NAME_FADE)?CLASS_NAME_FADE:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=CLASS_NAME_BACKDROP,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),EventHandler.on(this._element,EVENT_CLICK_DISMISS,(function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&t._triggerBackdropTransition()})),n&&reflow(this._backdrop),this._backdrop.classList.add(CLASS_NAME_SHOW$2),!n)return void e();var i=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,e),emulateTransitionEnd(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(CLASS_NAME_SHOW$2);var r=function(){t._removeBackdrop(),e()};if(this._element.classList.contains(CLASS_NAME_FADE)){var o=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,r),emulateTransitionEnd(this._backdrop,o)}else r()}else e()},t._triggerBackdropTransition=function(){var e=this;if("static"===this._config.backdrop){if(EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED).defaultPrevented)return;var t=this._element.scrollHeight>document.documentElement.clientHeight;t||(this._element.style.overflowY="hidden"),this._element.classList.add(CLASS_NAME_STATIC);var n=getTransitionDurationFromElement(this._dialog);EventHandler.off(this._element,TRANSITION_END),EventHandler.one(this._element,TRANSITION_END,(function(){e._element.classList.remove(CLASS_NAME_STATIC),t||(EventHandler.one(e._element,TRANSITION_END,(function(){e._element.style.overflowY=""})),emulateTransitionEnd(e._element,n))})),emulateTransitionEnd(this._element,n),this._element.focus()}else this.hide()},t._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(e.left+e.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((function(t){var n=t.style.paddingRight,i=window.getComputedStyle(t)["padding-right"];Manipulator.setDataAttribute(t,"padding-right",n),t.style.paddingRight=parseFloat(i)+e._scrollbarWidth+"px"})),SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach((function(t){var n=t.style.marginRight,i=window.getComputedStyle(t)["margin-right"];Manipulator.setDataAttribute(t,"margin-right",n),t.style.marginRight=parseFloat(i)-e._scrollbarWidth+"px"}));var t=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Manipulator.setDataAttribute(document.body,"padding-right",t),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(CLASS_NAME_OPEN)},t._resetScrollbar=function(){SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((function(e){var t=Manipulator.getDataAttribute(e,"padding-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"padding-right"),e.style.paddingRight=t)})),SelectorEngine.find(""+SELECTOR_STICKY_CONTENT).forEach((function(e){var t=Manipulator.getDataAttribute(e,"margin-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"margin-right"),e.style.marginRight=t)}));var e=Manipulator.getDataAttribute(document.body,"padding-right");void 0===e?document.body.style.paddingRight="":(Manipulator.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=e)},t._getScrollbarWidth=function(){var e=document.createElement("div");e.className=CLASS_NAME_SCROLLBAR_MEASURER,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},e.jQueryInterface=function(t,n){return this.each((function(){var i=Data.getData(this,DATA_KEY$5),r=_extends({},Default$3,Manipulator.getDataAttributes(this),"object"==typeof t&&t?t:{});if(i||(i=new e(this,r)),"string"==typeof t){if(void 0===i[t])throw new TypeError('No method named "'+t+'"');i[t](n)}else r.show&&i.show(n)}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$5)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$5}},{key:"Default",get:function(){return Default$3}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$3,(function(e){var t=this,n=getElementFromSelector(this);"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault(),EventHandler.one(n,EVENT_SHOW$2,(function(e){e.defaultPrevented||EventHandler.one(n,EVENT_HIDDEN$2,(function(){isVisible(t)&&t.focus()}))}));var i=Data.getData(n,DATA_KEY$5);if(!i){var r=_extends({},Manipulator.getDataAttributes(n),Manipulator.getDataAttributes(this));i=new Modal(n,r)}i.show(this)}));var $$6=getjQuery();if($$6){var JQUERY_NO_CONFLICT$5=$$6.fn[NAME$5];$$6.fn[NAME$5]=Modal.jQueryInterface,$$6.fn[NAME$5].Constructor=Modal,$$6.fn[NAME$5].noConflict=function(){return $$6.fn[NAME$5]=JQUERY_NO_CONFLICT$5,Modal.jQueryInterface}}var uriAttrs=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,allowedAttribute=function(e,t){var n=e.nodeName.toLowerCase();if(-1!==t.indexOf(n))return-1===uriAttrs.indexOf(n)||Boolean(e.nodeValue.match(SAFE_URL_PATTERN)||e.nodeValue.match(DATA_URL_PATTERN));for(var i=t.filter((function(e){return e instanceof RegExp})),r=0,o=i.length;r<o;r++)if(n.match(i[r]))return!0;return!1},DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],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:[]};function sanitizeHtml(e,t,n){var i;if(!e.length)return e;if(n&&"function"==typeof n)return n(e);for(var r=(new window.DOMParser).parseFromString(e,"text/html"),o=Object.keys(t),a=(i=[]).concat.apply(i,r.body.querySelectorAll("*")),s=function(e,n){var i,r=a[e],s=r.nodeName.toLowerCase();if(-1===o.indexOf(s))return r.parentNode.removeChild(r),"continue";var l=(i=[]).concat.apply(i,r.attributes),E=[].concat(t["*"]||[],t[s]||[]);l.forEach((function(e){allowedAttribute(e,E)||r.removeAttribute(e.nodeName)}))},l=0,E=a.length;l<E;l++)s(l);return r.body.innerHTML}var NAME$6="tooltip",VERSION$6="5.0.0-alpha2",DATA_KEY$6="bs.tooltip",EVENT_KEY$6="."+DATA_KEY$6,CLASS_PREFIX="bs-tooltip",BSCLS_PREFIX_REGEX=new RegExp("(^|\\s)"+CLASS_PREFIX+"\\S+","g"),DISALLOWED_ATTRIBUTES=["sanitize","allowList","sanitizeFn"],DefaultType$4={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object)"},AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Default$4={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,allowList:DefaultAllowlist,popperConfig:null},Event$1={HIDE:"hide"+EVENT_KEY$6,HIDDEN:"hidden"+EVENT_KEY$6,SHOW:"show"+EVENT_KEY$6,SHOWN:"shown"+EVENT_KEY$6,INSERTED:"inserted"+EVENT_KEY$6,CLICK:"click"+EVENT_KEY$6,FOCUSIN:"focusin"+EVENT_KEY$6,FOCUSOUT:"focusout"+EVENT_KEY$6,MOUSEENTER:"mouseenter"+EVENT_KEY$6,MOUSELEAVE:"mouseleave"+EVENT_KEY$6},CLASS_NAME_FADE$1="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$3="show",HOVER_STATE_SHOW="show",HOVER_STATE_OUT="out",SELECTOR_TOOLTIP_INNER=".tooltip-inner",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",Tooltip=function(){function e(e,t){if(void 0===Popper)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners(),Data.setData(e,this.constructor.DATA_KEY,this)}var t=e.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=Data.getData(e.delegateTarget,t);n||(n=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(CLASS_NAME_SHOW$3))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),Data.removeData(this.element,this.constructor.DATA_KEY),EventHandler.off(this.element,this.constructor.EVENT_KEY),EventHandler.off(this.element.closest("."+CLASS_NAME_MODAL),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var t=EventHandler.trigger(this.element,this.constructor.Event.SHOW),n=findShadowRoot(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(t.defaultPrevented||!i)return;var r=this.getTipElement(),o=getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&r.classList.add(CLASS_NAME_FADE$1);var a="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,s=this._getAttachment(a);this._addAttachmentClass(s);var l,E=this._getContainer();if(Data.setData(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||E.appendChild(r),EventHandler.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new Popper(this.element,r,this._getPopperConfig(s)),r.classList.add(CLASS_NAME_SHOW$3),"ontouchstart"in document.documentElement)(l=[]).concat.apply(l,document.body.children).forEach((function(e){EventHandler.on(e,"mouseover",noop())}));var _=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,EventHandler.trigger(e.element,e.constructor.Event.SHOWN),t===HOVER_STATE_OUT&&e._leave(null,e)};if(this.tip.classList.contains(CLASS_NAME_FADE$1)){var c=getTransitionDurationFromElement(this.tip);EventHandler.one(this.tip,TRANSITION_END,_),emulateTransitionEnd(this.tip,c)}else _()}},t.hide=function(){var e=this;if(this._popper){var t=this.getTipElement(),n=function(){e._hoverState!==HOVER_STATE_SHOW&&t.parentNode&&t.parentNode.removeChild(t),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),EventHandler.trigger(e.element,e.constructor.Event.HIDDEN),e._popper.destroy()};if(!EventHandler.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(t.classList.remove(CLASS_NAME_SHOW$3),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(e){return EventHandler.off(e,"mouseover",noop)}));if(this._activeTrigger[TRIGGER_CLICK]=!1,this._activeTrigger[TRIGGER_FOCUS]=!1,this._activeTrigger[TRIGGER_HOVER]=!1,this.tip.classList.contains(CLASS_NAME_FADE$1)){var r=getTransitionDurationFromElement(t);EventHandler.one(t,TRANSITION_END,n),emulateTransitionEnd(t,r)}else n();this._hoverState=""}}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.getTipElement=function(){if(this.tip)return this.tip;var e=document.createElement("div");return e.innerHTML=this.config.template,this.tip=e.children[0],this.tip},t.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER,e),this.getTitle()),e.classList.remove(CLASS_NAME_FADE$1,CLASS_NAME_SHOW$3)},t.setElementContent=function(e,t){if(null!==e)return"object"==typeof t&&isElement(t)?(t.jquery&&(t=t[0]),void(this.config.html?t.parentNode!==e&&(e.innerHTML="",e.appendChild(t)):e.textContent=t.textContent)):void(this.config.html?(this.config.sanitize&&(t=sanitizeHtml(t,this.config.allowList,this.config.sanitizeFn)),e.innerHTML=t):e.textContent=t)},t.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},t._getPopperConfig=function(e){var t=this;return _extends({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},this.config.popperConfig)},t._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX+"-"+e)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=_extends({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:isElement(this.config.container)?this.config.container:SelectorEngine.findOne(this.config.container)},t._getAttachment=function(e){return AttachmentMap[e.toUpperCase()]},t._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach((function(t){if("click"===t)EventHandler.on(e.element,e.constructor.Event.CLICK,e.config.selector,(function(t){return e.toggle(t)}));else if(t!==TRIGGER_MANUAL){var n=t===TRIGGER_HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,i=t===TRIGGER_HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;EventHandler.on(e.element,n,e.config.selector,(function(t){return e._enter(t)})),EventHandler.on(e.element,i,e.config.selector,(function(t){return e._leave(t)}))}})),this._hideModalHandler=function(){e.element&&e.hide()},EventHandler.on(this.element.closest("."+CLASS_NAME_MODAL),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=_extends({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusin"===e.type?TRIGGER_FOCUS:TRIGGER_HOVER]=!0),t.getTipElement().classList.contains(CLASS_NAME_SHOW$3)||t._hoverState===HOVER_STATE_SHOW?t._hoverState=HOVER_STATE_SHOW:(clearTimeout(t._timeout),t._hoverState=HOVER_STATE_SHOW,t.config.delay&&t.config.delay.show?t._timeout=setTimeout((function(){t._hoverState===HOVER_STATE_SHOW&&t.show()}),t.config.delay.show):t.show())},t._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusout"===e.type?TRIGGER_FOCUS:TRIGGER_HOVER]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=HOVER_STATE_OUT,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout((function(){t._hoverState===HOVER_STATE_OUT&&t.hide()}),t.config.delay.hide):t.hide())},t._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},t._getConfig=function(e){var t=Manipulator.getDataAttributes(this.element);return Object.keys(t).forEach((function(e){-1!==DISALLOWED_ATTRIBUTES.indexOf(e)&&delete t[e]})),e&&"object"==typeof e.container&&e.container.jquery&&(e.container=e.container[0]),"number"==typeof(e=_extends({},this.constructor.Default,t,"object"==typeof e&&e?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()),typeCheckConfig(NAME$6,e,this.constructor.DefaultType),e.sanitize&&(e.template=sanitizeHtml(e.template,e.allowList,e.sanitizeFn)),e},t._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},t._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX);null!==t&&t.length>0&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},t._handlePopperPlacementChange=function(e){this.tip=e.instance.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement))},t._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(e.classList.remove(CLASS_NAME_FADE$1),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$6),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$6)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$6}},{key:"Default",get:function(){return Default$4}},{key:"NAME",get:function(){return NAME$6}},{key:"DATA_KEY",get:function(){return DATA_KEY$6}},{key:"Event",get:function(){return Event$1}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$6}},{key:"DefaultType",get:function(){return DefaultType$4}}]),e}(),$$7=getjQuery();if($$7){var JQUERY_NO_CONFLICT$6=$$7.fn[NAME$6];$$7.fn[NAME$6]=Tooltip.jQueryInterface,$$7.fn[NAME$6].Constructor=Tooltip,$$7.fn[NAME$6].noConflict=function(){return $$7.fn[NAME$6]=JQUERY_NO_CONFLICT$6,Tooltip.jQueryInterface}}var NAME$7="popover",VERSION$7="5.0.0-alpha2",DATA_KEY$7="bs.popover",EVENT_KEY$7="."+DATA_KEY$7,CLASS_PREFIX$1="bs-popover",BSCLS_PREFIX_REGEX$1=new RegExp("(^|\\s)"+CLASS_PREFIX$1+"\\S+","g"),Default$5=_extends({},Tooltip.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),DefaultType$5=_extends({},Tooltip.DefaultType,{content:"(string|element|function)"}),Event$2={HIDE:"hide"+EVENT_KEY$7,HIDDEN:"hidden"+EVENT_KEY$7,SHOW:"show"+EVENT_KEY$7,SHOWN:"shown"+EVENT_KEY$7,INSERTED:"inserted"+EVENT_KEY$7,CLICK:"click"+EVENT_KEY$7,FOCUSIN:"focusin"+EVENT_KEY$7,FOCUSOUT:"focusout"+EVENT_KEY$7,MOUSEENTER:"mouseenter"+EVENT_KEY$7,MOUSELEAVE:"mouseleave"+EVENT_KEY$7},CLASS_NAME_FADE$2="fade",CLASS_NAME_SHOW$4="show",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",Popover=function(e){function t(){return e.apply(this,arguments)||this}_inheritsLoose(t,e);var n=t.prototype;return n.isWithContent=function(){return this.getTitle()||this._getContent()},n.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE,e),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT,e),t),e.classList.remove(CLASS_NAME_FADE$2,CLASS_NAME_SHOW$4)},n._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX$1+"-"+e)},n._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},n._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX$1);null!==t&&t.length>0&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY$7),i="object"==typeof e?e:null;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i),Data.setData(this,DATA_KEY$7,n)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(e){return Data.getData(e,DATA_KEY$7)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$7}},{key:"Default",get:function(){return Default$5}},{key:"NAME",get:function(){return NAME$7}},{key:"DATA_KEY",get:function(){return DATA_KEY$7}},{key:"Event",get:function(){return Event$2}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$7}},{key:"DefaultType",get:function(){return DefaultType$5}}]),t}(Tooltip),$$8=getjQuery();if($$8){var JQUERY_NO_CONFLICT$7=$$8.fn[NAME$7];$$8.fn[NAME$7]=Popover.jQueryInterface,$$8.fn[NAME$7].Constructor=Popover,$$8.fn[NAME$7].noConflict=function(){return $$8.fn[NAME$7]=JQUERY_NO_CONFLICT$7,Popover.jQueryInterface}}var NAME$8="scrollspy",VERSION$8="5.0.0-alpha2",DATA_KEY$8="bs.scrollspy",EVENT_KEY$8="."+DATA_KEY$8,DATA_API_KEY$6=".data-api",Default$6={offset:10,method:"auto",target:""},DefaultType$6={offset:"number",method:"string",target:"(string|element)"},EVENT_ACTIVATE="activate"+EVENT_KEY$8,EVENT_SCROLL="scroll"+EVENT_KEY$8,EVENT_LOAD_DATA_API$1="load"+EVENT_KEY$8+DATA_API_KEY$6,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$2="active",SELECTOR_DATA_SPY='[data-spy="scroll"]',SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",METHOD_OFFSET="offset",METHOD_POSITION="position",ScrollSpy=function(){function e(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+SELECTOR_NAV_LINKS+", "+this._config.target+" "+SELECTOR_LIST_ITEMS+", "+this._config.target+" ."+CLASS_NAME_DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,EventHandler.on(this._scrollElement,EVENT_SCROLL,(function(e){return n._process(e)})),this.refresh(),this._process(),Data.setData(e,DATA_KEY$8,this)}var t=e.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?METHOD_OFFSET:METHOD_POSITION,n="auto"===this._config.method?t:this._config.method,i=n===METHOD_POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),SelectorEngine.find(this._selector).map((function(e){var t=getSelectorFromElement(e),r=t?SelectorEngine.findOne(t):null;if(r){var o=r.getBoundingClientRect();if(o.width||o.height)return[Manipulator[n](r).top+i,t]}return null})).filter((function(e){return e})).sort((function(e,t){return e[0]-t[0]})).forEach((function(t){e._offsets.push(t[0]),e._targets.push(t[1])}))},t.dispose=function(){Data.removeData(this._element,DATA_KEY$8),EventHandler.off(this._scrollElement,EVENT_KEY$8),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(e){if("string"!=typeof(e=_extends({},Default$6,"object"==typeof e&&e?e:{})).target&&isElement(e.target)){var t=e.target.id;t||(t=getUID(NAME$8),e.target.id=t),e.target="#"+t}return typeCheckConfig(NAME$8,e,DefaultType$6),e},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),e>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&e>=this._offsets[r]&&(void 0===this._offsets[r+1]||e<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map((function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'})),n=SelectorEngine.findOne(t.join(","));n.classList.contains(CLASS_NAME_DROPDOWN_ITEM)?(SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE,n.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$2),n.classList.add(CLASS_NAME_ACTIVE$2)):(n.classList.add(CLASS_NAME_ACTIVE$2),SelectorEngine.parents(n,SELECTOR_NAV_LIST_GROUP).forEach((function(e){SelectorEngine.prev(e,SELECTOR_NAV_LINKS+", "+SELECTOR_LIST_ITEMS).forEach((function(e){return e.classList.add(CLASS_NAME_ACTIVE$2)})),SelectorEngine.prev(e,SELECTOR_NAV_ITEMS).forEach((function(e){SelectorEngine.children(e,SELECTOR_NAV_LINKS).forEach((function(e){return e.classList.add(CLASS_NAME_ACTIVE$2)}))}))}))),EventHandler.trigger(this._scrollElement,EVENT_ACTIVATE,{relatedTarget:e})},t._clear=function(){SelectorEngine.find(this._selector).filter((function(e){return e.classList.contains(CLASS_NAME_ACTIVE$2)})).forEach((function(e){return e.classList.remove(CLASS_NAME_ACTIVE$2)}))},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$8);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$8)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$8}},{key:"Default",get:function(){return Default$6}}]),e}();EventHandler.on(window,EVENT_LOAD_DATA_API$1,(function(){SelectorEngine.find(SELECTOR_DATA_SPY).forEach((function(e){return new ScrollSpy(e,Manipulator.getDataAttributes(e))}))}));var $$9=getjQuery();if($$9){var JQUERY_NO_CONFLICT$8=$$9.fn[NAME$8];$$9.fn[NAME$8]=ScrollSpy.jQueryInterface,$$9.fn[NAME$8].Constructor=ScrollSpy,$$9.fn[NAME$8].noConflict=function(){return $$9.fn[NAME$8]=JQUERY_NO_CONFLICT$8,ScrollSpy.jQueryInterface}}var NAME$9="tab",VERSION$9="5.0.0-alpha2",DATA_KEY$9="bs.tab",EVENT_KEY$9="."+DATA_KEY$9,DATA_API_KEY$7=".data-api",EVENT_HIDE$3="hide"+EVENT_KEY$9,EVENT_HIDDEN$3="hidden"+EVENT_KEY$9,EVENT_SHOW$3="show"+EVENT_KEY$9,EVENT_SHOWN$3="shown"+EVENT_KEY$9,EVENT_CLICK_DATA_API$6="click"+EVENT_KEY$9+DATA_API_KEY$7,CLASS_NAME_DROPDOWN_MENU="dropdown-menu",CLASS_NAME_ACTIVE$3="active",CLASS_NAME_DISABLED$1="disabled",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$5="show",SELECTOR_DROPDOWN$1=".dropdown",SELECTOR_NAV_LIST_GROUP$1=".nav, .list-group",SELECTOR_ACTIVE$1=".active",SELECTOR_ACTIVE_UL=":scope > li > .active",SELECTOR_DATA_TOGGLE$4='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",SELECTOR_DROPDOWN_ACTIVE_CHILD=":scope > .dropdown-menu .active",Tab=function(){function e(e){this._element=e,Data.setData(this._element,DATA_KEY$9,this)}var t=e.prototype;return t.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(CLASS_NAME_ACTIVE$3)||this._element.classList.contains(CLASS_NAME_DISABLED$1))){var t,n=getElementFromSelector(this._element),i=this._element.closest(SELECTOR_NAV_LIST_GROUP$1);if(i){var r="UL"===i.nodeName||"OL"===i.nodeName?SELECTOR_ACTIVE_UL:SELECTOR_ACTIVE$1;t=(t=SelectorEngine.find(r,i))[t.length-1]}var o=null;if(t&&(o=EventHandler.trigger(t,EVENT_HIDE$3,{relatedTarget:this._element})),!(EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:t}).defaultPrevented||null!==o&&o.defaultPrevented)){this._activate(this._element,i);var a=function(){EventHandler.trigger(t,EVENT_HIDDEN$3,{relatedTarget:e._element}),EventHandler.trigger(e._element,EVENT_SHOWN$3,{relatedTarget:t})};n?this._activate(n,n.parentNode,a):a()}}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$9),this._element=null},t._activate=function(e,t,n){var i=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?SelectorEngine.children(t,SELECTOR_ACTIVE$1):SelectorEngine.find(SELECTOR_ACTIVE_UL,t))[0],o=n&&r&&r.classList.contains(CLASS_NAME_FADE$3),a=function(){return i._transitionComplete(e,r,n)};if(r&&o){var s=getTransitionDurationFromElement(r);r.classList.remove(CLASS_NAME_SHOW$5),EventHandler.one(r,TRANSITION_END,a),emulateTransitionEnd(r,s)}else a()},t._transitionComplete=function(e,t,n){if(t){t.classList.remove(CLASS_NAME_ACTIVE$3);var i=SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD,t.parentNode);i&&i.classList.remove(CLASS_NAME_ACTIVE$3),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}(e.classList.add(CLASS_NAME_ACTIVE$3),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),reflow(e),e.classList.contains(CLASS_NAME_FADE$3)&&e.classList.add(CLASS_NAME_SHOW$5),e.parentNode&&e.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU))&&(e.closest(SELECTOR_DROPDOWN$1)&&SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE$1).forEach((function(e){return e.classList.add(CLASS_NAME_ACTIVE$3)})),e.setAttribute("aria-expanded",!0));n&&n()},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$9)||new e(this);if("string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$9)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$9}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$4,(function(e){e.preventDefault(),(Data.getData(this,DATA_KEY$9)||new Tab(this)).show()}));var $$a=getjQuery();if($$a){var JQUERY_NO_CONFLICT$9=$$a.fn[NAME$9];$$a.fn[NAME$9]=Tab.jQueryInterface,$$a.fn[NAME$9].Constructor=Tab,$$a.fn[NAME$9].noConflict=function(){return $$a.fn[NAME$9]=JQUERY_NO_CONFLICT$9,Tab.jQueryInterface}}var NAME$a="toast",VERSION$a="5.0.0-alpha2",DATA_KEY$a="bs.toast",EVENT_KEY$a="."+DATA_KEY$a,EVENT_CLICK_DISMISS$1="click.dismiss"+EVENT_KEY$a,EVENT_HIDE$4="hide"+EVENT_KEY$a,EVENT_HIDDEN$4="hidden"+EVENT_KEY$a,EVENT_SHOW$4="show"+EVENT_KEY$a,EVENT_SHOWN$4="shown"+EVENT_KEY$a,CLASS_NAME_FADE$4="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW$6="show",CLASS_NAME_SHOWING="showing",DefaultType$7={animation:"boolean",autohide:"boolean",delay:"number"},Default$7={animation:!0,autohide:!0,delay:5e3},SELECTOR_DATA_DISMISS$1='[data-dismiss="toast"]',Toast=function(){function e(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners(),Data.setData(e,DATA_KEY$a,this)}var t=e.prototype;return t.show=function(){var e=this;if(!EventHandler.trigger(this._element,EVENT_SHOW$4).defaultPrevented){this._clearTimeout(),this._config.animation&&this._element.classList.add(CLASS_NAME_FADE$4);var t=function(){e._element.classList.remove(CLASS_NAME_SHOWING),e._element.classList.add(CLASS_NAME_SHOW$6),EventHandler.trigger(e._element,EVENT_SHOWN$4),e._config.autohide&&(e._timeout=setTimeout((function(){e.hide()}),e._config.delay))};if(this._element.classList.remove(CLASS_NAME_HIDE),reflow(this._element),this._element.classList.add(CLASS_NAME_SHOWING),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.hide=function(){var e=this;if(this._element.classList.contains(CLASS_NAME_SHOW$6)&&!EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented){var t=function(){e._element.classList.add(CLASS_NAME_HIDE),EventHandler.trigger(e._element,EVENT_HIDDEN$4)};if(this._element.classList.remove(CLASS_NAME_SHOW$6),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.dispose=function(){this._clearTimeout(),this._element.classList.contains(CLASS_NAME_SHOW$6)&&this._element.classList.remove(CLASS_NAME_SHOW$6),EventHandler.off(this._element,EVENT_CLICK_DISMISS$1),Data.removeData(this._element,DATA_KEY$a),this._element=null,this._config=null},t._getConfig=function(e){return e=_extends({},Default$7,Manipulator.getDataAttributes(this._element),"object"==typeof e&&e?e:{}),typeCheckConfig(NAME$a,e,this.constructor.DefaultType),e},t._setListeners=function(){var e=this;EventHandler.on(this._element,EVENT_CLICK_DISMISS$1,SELECTOR_DATA_DISMISS$1,(function(){return e.hide()}))},t._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$a);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t](this)}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$a)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$a}},{key:"DefaultType",get:function(){return DefaultType$7}},{key:"Default",get:function(){return Default$7}}]),e}(),$$b=getjQuery();if($$b){var JQUERY_NO_CONFLICT$a=$$b.fn[NAME$a];$$b.fn[NAME$a]=Toast.jQueryInterface,$$b.fn[NAME$a].Constructor=Toast,$$b.fn[NAME$a].noConflict=function(){return $$b.fn[NAME$a]=JQUERY_NO_CONFLICT$a,Toast.jQueryInterface}}export{Alert,Button,Carousel,Collapse,Dropdown,Modal,Popover,ScrollSpy,Tab,Toast,Tooltip};
+import Popper from"popper.js";function _defineProperties(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function _createClass(t,e,n){return e&&_defineProperties(t.prototype,e),n&&_defineProperties(t,n),t}function _extends(){return(_extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}var MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",toType=function(t){return null==t?""+t:{}.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase()},getUID=function(t){do{t+=Math.floor(Math.random()*MAX_UID)}while(document.getElementById(t));return t},getSelector=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},getSelectorFromElement=function(t){var e=getSelector(t);return e&&document.querySelector(e)?e:null},getElementFromSelector=function(t){var e=getSelector(t);return e?document.querySelector(e):null},getTransitionDurationFromElement=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],(parseFloat(n)+parseFloat(i))*MILLISECONDS_MULTIPLIER):0},triggerTransitionEnd=function(t){t.dispatchEvent(new Event(TRANSITION_END))},isElement=function(t){return(t[0]||t).nodeType},emulateTransitionEnd=function(t,e){var n=!1,i=e+5;t.addEventListener(TRANSITION_END,(function e(){n=!0,t.removeEventListener(TRANSITION_END,e)})),setTimeout((function(){n||triggerTransitionEnd(t)}),i)},typeCheckConfig=function(t,e,n){Object.keys(n).forEach((function(i){var o=n[i],r=e[i],a=r&&isElement(r)?"element":toType(r);if(!new RegExp(o).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+o+'".')}))},isVisible=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},findShadowRoot=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null},noop=function(){return function(){}},reflow=function(t){return t.offsetHeight},getjQuery=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},onDOMContentLoaded=function(t){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t):t()},mapData=function(){var t={},e=1;return{set:function(n,i,o){void 0===n.bsKey&&(n.bsKey={key:i,id:e},e++),t[n.bsKey.id]=o},get:function(e,n){if(!e||void 0===e.bsKey)return null;var i=e.bsKey;return i.key===n?t[i.id]:null},delete:function(e,n){if(void 0!==e.bsKey){var i=e.bsKey;i.key===n&&(delete t[i.id],delete e.bsKey)}}}}(),Data={setData:function(t,e,n){mapData.set(t,e,n)},getData:function(t,e){return mapData.get(t,e)},removeData:function(t,e){mapData.delete(t,e)}},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={},uidEvent=1,customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=["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 getUidEvent(t,e){return e&&e+"::"+uidEvent++||t.uidEvent||uidEvent++}function getEvent(t){var e=getUidEvent(t);return t.uidEvent=e,eventRegistry[e]=eventRegistry[e]||{},eventRegistry[e]}function bootstrapHandler(t,e){return function n(i){return i.delegateTarget=t,n.oneOff&&EventHandler.off(t,i.type,e),e.apply(t,[i])}}function bootstrapDelegationHandler(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),a=o.target;a&&a!==this;a=a.parentNode)for(var s=r.length;s--;)if(r[s]===a)return o.delegateTarget=a,i.oneOff&&EventHandler.off(t,o.type,n),n.apply(a,[o]);return null}}function findHandler(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var a=t[i[o]];if(a.originalHandler===e&&a.delegationSelector===n)return a}return null}function normalizeParams(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(stripNameRegex,""),a=customEvents[r];return a&&(r=a),nativeEvents.indexOf(r)>-1||(r=t),[i,o,r]}function addHandler(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=normalizeParams(e,n,i),a=r[0],s=r[1],l=r[2],E=getEvent(t),_=E[l]||(E[l]={}),c=findHandler(_,s,a?n:null);if(c)c.oneOff=c.oneOff&&o;else{var u=getUidEvent(s,e.replace(namespaceRegex,"")),f=a?bootstrapDelegationHandler(t,n,i):bootstrapHandler(t,n);f.delegationSelector=a?n:null,f.originalHandler=s,f.oneOff=o,f.uidEvent=u,_[u]=f,t.addEventListener(l,f,a)}}}function removeHandler(t,e,n,i,o){var r=findHandler(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}function removeNamespacedHandlers(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(r){if(r.indexOf(i)>-1){var a=o[r];removeHandler(t,e,n,a.originalHandler,a.delegationSelector)}}))}var EventHandler={on:function(t,e,n,i){addHandler(t,e,n,i,!1)},one:function(t,e,n,i){addHandler(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=normalizeParams(e,n,i),r=o[0],a=o[1],s=o[2],l=s!==e,E=getEvent(t),_="."===e.charAt(0);if(void 0===a){_&&Object.keys(E).forEach((function(n){removeNamespacedHandlers(t,E,n,e.slice(1))}));var c=E[s]||{};Object.keys(c).forEach((function(n){var i=n.replace(stripUidRegex,"");if(!l||e.indexOf(i)>-1){var o=c[n];removeHandler(t,E,s,o.originalHandler,o.delegationSelector)}}))}else{if(!E||!E[s])return;removeHandler(t,E,s,a,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=getjQuery(),r=e.replace(stripNameRegex,""),a=e!==r,s=nativeEvents.indexOf(r)>-1,l=!0,E=!0,_=!1,c=null;return a&&o&&(i=o.Event(e,n),o(t).trigger(i),l=!i.isPropagationStopped(),E=!i.isImmediatePropagationStopped(),_=i.isDefaultPrevented()),s?(c=document.createEvent("HTMLEvents")).initEvent(r,l,!0):c=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(t){Object.defineProperty(c,t,{get:function(){return n[t]}})})),_&&c.preventDefault(),E&&t.dispatchEvent(c),c.defaultPrevented&&void 0!==i&&i.preventDefault(),c}},NAME="alert",VERSION="5.0.0-alpha3",DATA_KEY="bs.alert",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",SELECTOR_DISMISS='[data-dismiss="alert"]',EVENT_CLOSE="close"+EVENT_KEY,EVENT_CLOSED="closed"+EVENT_KEY,EVENT_CLICK_DATA_API="click"+EVENT_KEY+DATA_API_KEY,CLASSNAME_ALERT="alert",CLASSNAME_FADE="fade",CLASSNAME_SHOW="show",Alert=function(){function t(t){this._element=t,this._element&&Data.setData(t,DATA_KEY,this)}var e=t.prototype;return e.close=function(t){var e=t?this._getRootElement(t):this._element,n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},e.dispose=function(){Data.removeData(this._element,DATA_KEY),this._element=null},e._getRootElement=function(t){return getElementFromSelector(t)||t.closest("."+CLASSNAME_ALERT)},e._triggerCloseEvent=function(t){return EventHandler.trigger(t,EVENT_CLOSE)},e._removeElement=function(t){var e=this;if(t.classList.remove(CLASSNAME_SHOW),t.classList.contains(CLASSNAME_FADE)){var n=getTransitionDurationFromElement(t);EventHandler.one(t,TRANSITION_END,(function(){return e._destroyElement(t)})),emulateTransitionEnd(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),EventHandler.trigger(t,EVENT_CLOSED)},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY);n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return Data.getData(t,DATA_KEY)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION}}]),t}();EventHandler.on(document,EVENT_CLICK_DATA_API,SELECTOR_DISMISS,Alert.handleDismiss(new Alert)),onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME];t.fn[NAME]=Alert.jQueryInterface,t.fn[NAME].Constructor=Alert,t.fn[NAME].noConflict=function(){return t.fn[NAME]=e,Alert.jQueryInterface}}}));var NAME$1="button",VERSION$1="5.0.0-alpha3",DATA_KEY$1="bs.button",EVENT_KEY$1="."+DATA_KEY$1,DATA_API_KEY$1=".data-api",CLASS_NAME_ACTIVE="active",SELECTOR_DATA_TOGGLE='[data-toggle="button"]',EVENT_CLICK_DATA_API$1="click"+EVENT_KEY$1+DATA_API_KEY$1,Button=function(){function t(t){this._element=t,Data.setData(t,DATA_KEY$1,this)}var e=t.prototype;return e.toggle=function(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(CLASS_NAME_ACTIVE))},e.dispose=function(){Data.removeData(this._element,DATA_KEY$1),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY$1);n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return Data.getData(t,DATA_KEY$1)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$1}}]),t}();function normalizeData(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function normalizeDataKey(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE,(function(t){t.preventDefault();var e=t.target.closest(SELECTOR_DATA_TOGGLE),n=Data.getData(e,DATA_KEY$1);n||(n=new Button(e)),n.toggle()})),onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$1];t.fn[NAME$1]=Button.jQueryInterface,t.fn[NAME$1].Constructor=Button,t.fn[NAME$1].noConflict=function(){return t.fn[NAME$1]=e,Button.jQueryInterface}}}));var Manipulator={setDataAttribute:function(t,e,n){t.setAttribute("data-"+normalizeDataKey(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+normalizeDataKey(e))},getDataAttributes:function(t){if(!t)return{};var e=_extends({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=normalizeData(e[t])})),e},getDataAttribute:function(t,e){return normalizeData(t.getAttribute("data-"+normalizeDataKey(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}}},NODE_TEXT=3,SelectorEngine={matches:function(t,e){return t.matches(e)},find:function(t,e){var n;return void 0===e&&(e=document.documentElement),(n=[]).concat.apply(n,Element.prototype.querySelectorAll.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),Element.prototype.querySelector.call(e,t)},children:function(t,e){var n,i=(n=[]).concat.apply(n,t.children);return i.filter((function(t){return t.matches(e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==NODE_TEXT;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},prev:function(t,e){for(var n=t.previousElementSibling;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next:function(t,e){for(var n=t.nextElementSibling;n;){if(this.matches(n,e))return[n];n=n.nextElementSibling}return[]}},NAME$2="carousel",VERSION$2="5.0.0-alpha3",DATA_KEY$2="bs.carousel",EVENT_KEY$2="."+DATA_KEY$2,DATA_API_KEY$2=".data-api",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,SWIPE_THRESHOLD=40,Default={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},DefaultType={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},DIRECTION_NEXT="next",DIRECTION_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE="slide"+EVENT_KEY$2,EVENT_SLID="slid"+EVENT_KEY$2,EVENT_KEYDOWN="keydown"+EVENT_KEY$2,EVENT_MOUSEENTER="mouseenter"+EVENT_KEY$2,EVENT_MOUSELEAVE="mouseleave"+EVENT_KEY$2,EVENT_TOUCHSTART="touchstart"+EVENT_KEY$2,EVENT_TOUCHMOVE="touchmove"+EVENT_KEY$2,EVENT_TOUCHEND="touchend"+EVENT_KEY$2,EVENT_POINTERDOWN="pointerdown"+EVENT_KEY$2,EVENT_POINTERUP="pointerup"+EVENT_KEY$2,EVENT_DRAG_START="dragstart"+EVENT_KEY$2,EVENT_LOAD_DATA_API="load"+EVENT_KEY$2+DATA_API_KEY$2,EVENT_CLICK_DATA_API$2="click"+EVENT_KEY$2+DATA_API_KEY$2,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$1="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_RIGHT="carousel-item-right",CLASS_NAME_LEFT="carousel-item-left",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",CLASS_NAME_POINTER_EVENT="pointer-event",SELECTOR_ACTIVE=".active",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM=".carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_NEXT_PREV=".carousel-item-next, .carousel-item-prev",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-slide], [data-slide-to]",SELECTOR_DATA_RIDE='[data-ride="carousel"]',PointerType={TOUCH:"touch",PEN:"pen"},Carousel=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners(),Data.setData(t,DATA_KEY$2,this)}var e=t.prototype;return e.next=function(){this._isSliding||this._slide(DIRECTION_NEXT)},e.nextWhenVisible=function(){!document.hidden&&isVisible(this._element)&&this.next()},e.prev=function(){this._isSliding||this._slide(DIRECTION_PREV)},e.pause=function(t){t||(this._isPaused=!0),SelectorEngine.findOne(SELECTOR_NEXT_PREV,this._element)&&(triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)EventHandler.one(this._element,EVENT_SLID,(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?DIRECTION_NEXT:DIRECTION_PREV;this._slide(i,this._items[t])}},e.dispose=function(){EventHandler.off(this._element,EVENT_KEY$2),Data.removeData(this._element,DATA_KEY$2),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=_extends({},Default,t),typeCheckConfig(NAME$2,t,DefaultType),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=SWIPE_THRESHOLD)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN,(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER,(function(e){return t.pause(e)})),EventHandler.on(this._element,EVENT_MOUSELEAVE,(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&PointerType[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&PointerType[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),TOUCHEVENT_COMPAT_WAIT+t._config.interval))};SelectorEngine.find(SELECTOR_ITEM_IMG,this._element).forEach((function(t){EventHandler.on(t,EVENT_DRAG_START,(function(t){return t.preventDefault()}))})),this._pointerEvent?(EventHandler.on(this._element,EVENT_POINTERDOWN,(function(t){return e(t)})),EventHandler.on(this._element,EVENT_POINTERUP,(function(t){return n(t)})),this._element.classList.add(CLASS_NAME_POINTER_EVENT)):(EventHandler.on(this._element,EVENT_TOUCHSTART,(function(t){return e(t)})),EventHandler.on(this._element,EVENT_TOUCHMOVE,(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),EventHandler.on(this._element,EVENT_TOUCHEND,(function(t){return n(t)})))},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.key){case ARROW_LEFT_KEY:t.preventDefault(),this.prev();break;case ARROW_RIGHT_KEY:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?SelectorEngine.find(SELECTOR_ITEM,t.parentNode):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n=t===DIRECTION_NEXT,i=t===DIRECTION_PREV,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var a=(o+(t===DIRECTION_PREV?-1:1))%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element));return EventHandler.trigger(this._element,EVENT_SLIDE,{relatedTarget:t,direction:e,from:i,to:n})},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=SelectorEngine.find(SELECTOR_ACTIVE,this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove(CLASS_NAME_ACTIVE$1);var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add(CLASS_NAME_ACTIVE$1)}},e._updateInterval=function(){var t=this._activeElement||SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element);if(t){var e=parseInt(t.getAttribute("data-interval"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}},e._slide=function(t,e){var n,i,o,r=this,a=SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element),s=this._getItemIndex(a),l=e||a&&this._getItemByDirection(t,a),E=this._getItemIndex(l),_=Boolean(this._interval);if(t===DIRECTION_NEXT?(n=CLASS_NAME_LEFT,i=CLASS_NAME_NEXT,o=DIRECTION_LEFT):(n=CLASS_NAME_RIGHT,i=CLASS_NAME_PREV,o=DIRECTION_RIGHT),l&&l.classList.contains(CLASS_NAME_ACTIVE$1))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&a&&l){if(this._isSliding=!0,_&&this.pause(),this._setActiveIndicatorElement(l),this._activeElement=l,this._element.classList.contains(CLASS_NAME_SLIDE)){l.classList.add(i),reflow(l),a.classList.add(n),l.classList.add(n);var c=getTransitionDurationFromElement(a);EventHandler.one(a,TRANSITION_END,(function(){l.classList.remove(n,i),l.classList.add(CLASS_NAME_ACTIVE$1),a.classList.remove(CLASS_NAME_ACTIVE$1,i,n),r._isSliding=!1,setTimeout((function(){EventHandler.trigger(r._element,EVENT_SLID,{relatedTarget:l,direction:o,from:s,to:E})}),0)})),emulateTransitionEnd(a,c)}else a.classList.remove(CLASS_NAME_ACTIVE$1),l.classList.add(CLASS_NAME_ACTIVE$1),this._isSliding=!1,EventHandler.trigger(this._element,EVENT_SLID,{relatedTarget:l,direction:o,from:s,to:E});_&&this.cycle()}},t.carouselInterface=function(e,n){var i=Data.getData(e,DATA_KEY$2),o=_extends({},Default,Manipulator.getDataAttributes(e));"object"==typeof n&&(o=_extends({},o,n));var r="string"==typeof n?n:o.slide;if(i||(i=new t(e,o)),"number"==typeof n)i.to(n);else if("string"==typeof r){if(void 0===i[r])throw new TypeError('No method named "'+r+'"');i[r]()}else o.interval&&o.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var n=getElementFromSelector(this);if(n&&n.classList.contains(CLASS_NAME_CAROUSEL)){var i=_extends({},Manipulator.getDataAttributes(n),Manipulator.getDataAttributes(this)),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),t.carouselInterface(n,i),o&&Data.getData(n,DATA_KEY$2).to(o),e.preventDefault()}},t.getInstance=function(t){return Data.getData(t,DATA_KEY$2)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$2}},{key:"Default",get:function(){return Default}}]),t}();EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_SLIDE,Carousel.dataApiClickHandler),EventHandler.on(window,EVENT_LOAD_DATA_API,(function(){for(var t=SelectorEngine.find(SELECTOR_DATA_RIDE),e=0,n=t.length;e<n;e++)Carousel.carouselInterface(t[e],Data.getData(t[e],DATA_KEY$2))})),onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$2];t.fn[NAME$2]=Carousel.jQueryInterface,t.fn[NAME$2].Constructor=Carousel,t.fn[NAME$2].noConflict=function(){return t.fn[NAME$2]=e,Carousel.jQueryInterface}}}));var NAME$3="collapse",VERSION$3="5.0.0-alpha3",DATA_KEY$3="bs.collapse",EVENT_KEY$3="."+DATA_KEY$3,DATA_API_KEY$3=".data-api",Default$1={toggle:!0,parent:""},DefaultType$1={toggle:"boolean",parent:"(string|element)"},EVENT_SHOW="show"+EVENT_KEY$3,EVENT_SHOWN="shown"+EVENT_KEY$3,EVENT_HIDE="hide"+EVENT_KEY$3,EVENT_HIDDEN="hidden"+EVENT_KEY$3,EVENT_CLICK_DATA_API$3="click"+EVENT_KEY$3+DATA_API_KEY$3,CLASS_NAME_SHOW="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".show, .collapsing",SELECTOR_DATA_TOGGLE$1='[data-toggle="collapse"]',Collapse=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=SelectorEngine.find(SELECTOR_DATA_TOGGLE$1+'[href="#'+t.id+'"],'+SELECTOR_DATA_TOGGLE$1+'[data-target="#'+t.id+'"]');for(var n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$1),i=0,o=n.length;i<o;i++){var r=n[i],a=getSelectorFromElement(r),s=SelectorEngine.find(a).filter((function(e){return e===t}));null!==a&&s.length&&(this._selector=a,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),Data.setData(t,DATA_KEY$3,this)}var e=t.prototype;return e.toggle=function(){this._element.classList.contains(CLASS_NAME_SHOW)?this.hide():this.show()},e.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains(CLASS_NAME_SHOW)){var n,i;this._parent&&0===(n=SelectorEngine.find(SELECTOR_ACTIVES,this._parent).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains(CLASS_NAME_COLLAPSE)}))).length&&(n=null);var o=SelectorEngine.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?Data.getData(r[0],DATA_KEY$3):null)&&i._isTransitioning)return}if(!EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||Data.setData(e,DATA_KEY$3,null)}));var a=this._getDimension();this._element.classList.remove(CLASS_NAME_COLLAPSE),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.style[a]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove(CLASS_NAME_COLLAPSED),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var s="scroll"+(a[0].toUpperCase()+a.slice(1)),l=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){e._element.classList.remove(CLASS_NAME_COLLAPSING),e._element.classList.add(CLASS_NAME_COLLAPSE,CLASS_NAME_SHOW),e._element.style[a]="",e.setTransitioning(!1),EventHandler.trigger(e._element,EVENT_SHOWN)})),emulateTransitionEnd(this._element,l),this._element.style[a]=this._element[s]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains(CLASS_NAME_SHOW)&&!EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",reflow(this._element),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.classList.remove(CLASS_NAME_COLLAPSE,CLASS_NAME_SHOW);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=getElementFromSelector(o);r&&!r.classList.contains(CLASS_NAME_SHOW)&&(o.classList.add(CLASS_NAME_COLLAPSED),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var a=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){t.setTransitioning(!1),t._element.classList.remove(CLASS_NAME_COLLAPSING),t._element.classList.add(CLASS_NAME_COLLAPSE),EventHandler.trigger(t._element,EVENT_HIDDEN)})),emulateTransitionEnd(this._element,a)}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){Data.removeData(this._element,DATA_KEY$3),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=_extends({},Default$1,t)).toggle=Boolean(t.toggle),typeCheckConfig(NAME$3,t,DefaultType$1),t},e._getDimension=function(){return this._element.classList.contains(WIDTH)?WIDTH:HEIGHT},e._getParent=function(){var t=this,e=this._config.parent;isElement(e)?void 0===e.jquery&&void 0===e[0]||(e=e[0]):e=SelectorEngine.findOne(e);var n=SELECTOR_DATA_TOGGLE$1+'[data-parent="'+e+'"]';return SelectorEngine.find(n,e).forEach((function(e){var n=getElementFromSelector(e);t._addAriaAndCollapsedClass(n,[e])})),e},e._addAriaAndCollapsedClass=function(t,e){if(t&&e.length){var n=t.classList.contains(CLASS_NAME_SHOW);e.forEach((function(t){n?t.classList.remove(CLASS_NAME_COLLAPSED):t.classList.add(CLASS_NAME_COLLAPSED),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,n){var i=Data.getData(e,DATA_KEY$3),o=_extends({},Default$1,Manipulator.getDataAttributes(e),"object"==typeof n&&n?n:{});if(!i&&o.toggle&&"string"==typeof n&&/show|hide/.test(n)&&(o.toggle=!1),i||(i=new t(e,o)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return Data.getData(t,DATA_KEY$3)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$3}},{key:"Default",get:function(){return Default$1}}]),t}();EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$1,(function(t){"A"===t.target.tagName&&t.preventDefault();var e=Manipulator.getDataAttributes(this),n=getSelectorFromElement(this);SelectorEngine.find(n).forEach((function(t){var n,i=Data.getData(t,DATA_KEY$3);i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,Collapse.collapseInterface(t,n)}))})),onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$3];t.fn[NAME$3]=Collapse.jQueryInterface,t.fn[NAME$3].Constructor=Collapse,t.fn[NAME$3].noConflict=function(){return t.fn[NAME$3]=e,Collapse.jQueryInterface}}}));var NAME$4="dropdown",VERSION$4="5.0.0-alpha3",DATA_KEY$4="bs.dropdown",EVENT_KEY$4="."+DATA_KEY$4,DATA_API_KEY$4=".data-api",ESCAPE_KEY="Escape",SPACE_KEY="Space",TAB_KEY="Tab",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",RIGHT_MOUSE_BUTTON=2,REGEXP_KEYDOWN=new RegExp(ARROW_UP_KEY+"|"+ARROW_DOWN_KEY+"|"+ESCAPE_KEY),EVENT_HIDE$1="hide"+EVENT_KEY$4,EVENT_HIDDEN$1="hidden"+EVENT_KEY$4,EVENT_SHOW$1="show"+EVENT_KEY$4,EVENT_SHOWN$1="shown"+EVENT_KEY$4,EVENT_CLICK="click"+EVENT_KEY$4,EVENT_CLICK_DATA_API$4="click"+EVENT_KEY$4+DATA_API_KEY$4,EVENT_KEYDOWN_DATA_API="keydown"+EVENT_KEY$4+DATA_API_KEY$4,EVENT_KEYUP_DATA_API="keyup"+EVENT_KEY$4+DATA_API_KEY$4,CLASS_NAME_DISABLED="disabled",CLASS_NAME_SHOW$1="show",CLASS_NAME_DROPUP="dropup",CLASS_NAME_DROPRIGHT="dropright",CLASS_NAME_DROPLEFT="dropleft",CLASS_NAME_MENURIGHT="dropdown-menu-right",CLASS_NAME_NAVBAR="navbar",CLASS_NAME_POSITION_STATIC="position-static",SELECTOR_DATA_TOGGLE$2='[data-toggle="dropdown"]',SELECTOR_FORM_CHILD=".dropdown form",SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",PLACEMENT_TOP="top-start",PLACEMENT_TOPEND="top-end",PLACEMENT_BOTTOM="bottom-start",PLACEMENT_BOTTOMEND="bottom-end",PLACEMENT_RIGHT="right-start",PLACEMENT_LEFT="left-start",Default$2={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},DefaultType$2={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Dropdown=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),Data.setData(t,DATA_KEY$4,this)}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(CLASS_NAME_DISABLED)){var e=this._element.classList.contains(CLASS_NAME_SHOW$1);t.clearMenus(),e||this.show()}},e.show=function(){if(!(this._element.disabled||this._element.classList.contains(CLASS_NAME_DISABLED)||this._menu.classList.contains(CLASS_NAME_SHOW$1))){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$1,n).defaultPrevented){if(!this._inNavbar){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:isElement(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add(CLASS_NAME_POSITION_STATIC),this._popper=new Popper(i,this._menu,this._getPopperConfig())}var o;if("ontouchstart"in document.documentElement&&!e.closest(SELECTOR_NAVBAR_NAV))(o=[]).concat.apply(o,document.body.children).forEach((function(t){return EventHandler.on(t,"mouseover",null,noop())}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle(CLASS_NAME_SHOW$1),this._element.classList.toggle(CLASS_NAME_SHOW$1),EventHandler.trigger(e,EVENT_SHOWN$1,n)}}},e.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(CLASS_NAME_DISABLED)&&this._menu.classList.contains(CLASS_NAME_SHOW$1)){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};EventHandler.trigger(e,EVENT_HIDE$1,n).defaultPrevented||(this._popper&&this._popper.destroy(),this._menu.classList.toggle(CLASS_NAME_SHOW$1),this._element.classList.toggle(CLASS_NAME_SHOW$1),EventHandler.trigger(e,EVENT_HIDDEN$1,n))}},e.dispose=function(){Data.removeData(this._element,DATA_KEY$4),EventHandler.off(this._element,EVENT_KEY$4),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;EventHandler.on(this._element,EVENT_CLICK,(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=_extends({},this.constructor.Default,Manipulator.getDataAttributes(this._element),t),typeCheckConfig(NAME$4,t,this.constructor.DefaultType),t},e._getMenuElement=function(){return SelectorEngine.next(this._element,SELECTOR_MENU)[0]},e._getPlacement=function(){var t=this._element.parentNode,e=PLACEMENT_BOTTOM;return t.classList.contains(CLASS_NAME_DROPUP)?e=this._menu.classList.contains(CLASS_NAME_MENURIGHT)?PLACEMENT_TOPEND:PLACEMENT_TOP:t.classList.contains(CLASS_NAME_DROPRIGHT)?e=PLACEMENT_RIGHT:t.classList.contains(CLASS_NAME_DROPLEFT)?e=PLACEMENT_LEFT:this._menu.classList.contains(CLASS_NAME_MENURIGHT)&&(e=PLACEMENT_BOTTOMEND),e},e._detectNavbar=function(){return Boolean(this._element.closest("."+CLASS_NAME_NAVBAR))},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=_extends({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),_extends({},t,this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=Data.getData(e,DATA_KEY$4);if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.dropdownInterface(this,e)}))},t.clearMenus=function(e){if(!e||e.button!==RIGHT_MOUSE_BUTTON&&("keyup"!==e.type||e.key===TAB_KEY))for(var n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$2),i=0,o=n.length;i<o;i++){var r=t.getParentFromElement(n[i]),a=Data.getData(n[i],DATA_KEY$4),s={relatedTarget:n[i]};if(e&&"click"===e.type&&(s.clickEvent=e),a){var l=a._menu;if(n[i].classList.contains(CLASS_NAME_SHOW$1))if(!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&e.key===TAB_KEY)&&l.contains(e.target)))if(!EventHandler.trigger(r,EVENT_HIDE$1,s).defaultPrevented){var E;if("ontouchstart"in document.documentElement)(E=[]).concat.apply(E,document.body.children).forEach((function(t){return EventHandler.off(t,"mouseover",null,noop())}));n[i].setAttribute("aria-expanded","false"),a._popper&&a._popper.destroy(),l.classList.remove(CLASS_NAME_SHOW$1),n[i].classList.remove(CLASS_NAME_SHOW$1),EventHandler.trigger(r,EVENT_HIDDEN$1,s)}}}},t.getParentFromElement=function(t){return getElementFromSelector(t)||t.parentNode},t.dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?e.key===SPACE_KEY||e.key!==ESCAPE_KEY&&(e.key!==ARROW_DOWN_KEY&&e.key!==ARROW_UP_KEY||e.target.closest(SELECTOR_MENU)):!REGEXP_KEYDOWN.test(e.key))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!this.classList.contains(CLASS_NAME_DISABLED))){var n=t.getParentFromElement(this),i=this.classList.contains(CLASS_NAME_SHOW$1);if(e.key===ESCAPE_KEY)return(this.matches(SELECTOR_DATA_TOGGLE$2)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$2)[0]).focus(),void t.clearMenus();if(i&&e.key!==SPACE_KEY){var o=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,n).filter(isVisible);if(o.length){var r=o.indexOf(e.target);e.key===ARROW_UP_KEY&&r>0&&r--,e.key===ARROW_DOWN_KEY&&r<o.length-1&&r++,o[r=-1===r?0:r].focus()}}else t.clearMenus()}},t.getInstance=function(t){return Data.getData(t,DATA_KEY$4)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$4}},{key:"Default",get:function(){return Default$2}},{key:"DefaultType",get:function(){return DefaultType$2}}]),t}();EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$2,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$4,Dropdown.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$2,(function(t){t.preventDefault(),t.stopPropagation(),Dropdown.dropdownInterface(this,"toggle")})),EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_FORM_CHILD,(function(t){return t.stopPropagation()})),onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$4];t.fn[NAME$4]=Dropdown.jQueryInterface,t.fn[NAME$4].Constructor=Dropdown,t.fn[NAME$4].noConflict=function(){return t.fn[NAME$4]=e,Dropdown.jQueryInterface}}}));var NAME$5="modal",VERSION$5="5.0.0-alpha3",DATA_KEY$5="bs.modal",EVENT_KEY$5="."+DATA_KEY$5,DATA_API_KEY$5=".data-api",ESCAPE_KEY$1="Escape",Default$3={backdrop:!0,keyboard:!0,focus:!0,show:!0},DefaultType$3={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},EVENT_HIDE$2="hide"+EVENT_KEY$5,EVENT_HIDE_PREVENTED="hidePrevented"+EVENT_KEY$5,EVENT_HIDDEN$2="hidden"+EVENT_KEY$5,EVENT_SHOW$2="show"+EVENT_KEY$5,EVENT_SHOWN$2="shown"+EVENT_KEY$5,EVENT_FOCUSIN="focusin"+EVENT_KEY$5,EVENT_RESIZE="resize"+EVENT_KEY$5,EVENT_CLICK_DISMISS="click.dismiss"+EVENT_KEY$5,EVENT_KEYDOWN_DISMISS="keydown.dismiss"+EVENT_KEY$5,EVENT_MOUSEUP_DISMISS="mouseup.dismiss"+EVENT_KEY$5,EVENT_MOUSEDOWN_DISMISS="mousedown.dismiss"+EVENT_KEY$5,EVENT_CLICK_DATA_API$5="click"+EVENT_KEY$5+DATA_API_KEY$5,CLASS_NAME_SCROLLBAR_MEASURER="modal-scrollbar-measure",CLASS_NAME_BACKDROP="modal-backdrop",CLASS_NAME_OPEN="modal-open",CLASS_NAME_FADE="fade",CLASS_NAME_SHOW$2="show",CLASS_NAME_STATIC="modal-static",SELECTOR_DIALOG=".modal-dialog",SELECTOR_MODAL_BODY=".modal-body",SELECTOR_DATA_TOGGLE$3='[data-toggle="modal"]',SELECTOR_DATA_DISMISS='[data-dismiss="modal"]',SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",Modal=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=SelectorEngine.findOne(SELECTOR_DIALOG,t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,Data.setData(t,DATA_KEY$5,this)}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(CLASS_NAME_FADE)&&(this._isTransitioning=!0);var n=EventHandler.trigger(this._element,EVENT_SHOW$2,{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.on(this._element,EVENT_CLICK_DISMISS,SELECTOR_DATA_DISMISS,(function(t){return e.hide(t)})),EventHandler.on(this._dialog,EVENT_MOUSEDOWN_DISMISS,(function(){EventHandler.one(e._element,EVENT_MOUSEUP_DISMISS,(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!EventHandler.trigger(this._element,EVENT_HIDE$2).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(CLASS_NAME_FADE);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.off(document,EVENT_FOCUSIN),this._element.classList.remove(CLASS_NAME_SHOW$2),EventHandler.off(this._element,EVENT_CLICK_DISMISS),EventHandler.off(this._dialog,EVENT_MOUSEDOWN_DISMISS),n){var i=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(t){return e._hideModal(t)})),emulateTransitionEnd(this._element,i)}else this._hideModal()}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return EventHandler.off(t,EVENT_KEY$5)})),EventHandler.off(document,EVENT_FOCUSIN),Data.removeData(this._element,DATA_KEY$5),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=_extends({},Default$3,t),typeCheckConfig(NAME$5,t,DefaultType$3),t},e._showElement=function(t){var e=this,n=this._element.classList.contains(CLASS_NAME_FADE),i=SelectorEngine.findOne(SELECTOR_MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),n&&reflow(this._element),this._element.classList.add(CLASS_NAME_SHOW$2),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,EventHandler.trigger(e._element,EVENT_SHOWN$2,{relatedTarget:t})};if(n){var r=getTransitionDurationFromElement(this._dialog);EventHandler.one(this._dialog,TRANSITION_END,o),emulateTransitionEnd(this._dialog,r)}else o()},e._enforceFocus=function(){var t=this;EventHandler.off(document,EVENT_FOCUSIN),EventHandler.on(document,EVENT_FOCUSIN,(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,(function(e){t._config.keyboard&&e.key===ESCAPE_KEY$1?(e.preventDefault(),t.hide()):t._config.keyboard||e.key!==ESCAPE_KEY$1||t._triggerBackdropTransition()})):EventHandler.off(this._element,EVENT_KEYDOWN_DISMISS)},e._setResizeEvent=function(){var t=this;this._isShown?EventHandler.on(window,EVENT_RESIZE,(function(){return t._adjustDialog()})):EventHandler.off(window,EVENT_RESIZE)},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove(CLASS_NAME_OPEN),t._resetAdjustments(),t._resetScrollbar(),EventHandler.trigger(t._element,EVENT_HIDDEN$2)}))},e._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},e._showBackdrop=function(t){var e=this,n=this._element.classList.contains(CLASS_NAME_FADE)?CLASS_NAME_FADE:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=CLASS_NAME_BACKDROP,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),EventHandler.on(this._element,EVENT_CLICK_DISMISS,(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&reflow(this._backdrop),this._backdrop.classList.add(CLASS_NAME_SHOW$2),!n)return void t();var i=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,t),emulateTransitionEnd(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(CLASS_NAME_SHOW$2);var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains(CLASS_NAME_FADE)){var r=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,o),emulateTransitionEnd(this._backdrop,r)}else o()}else t()},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED).defaultPrevented)return;var e=this._element.scrollHeight>document.documentElement.clientHeight;e||(this._element.style.overflowY="hidden"),this._element.classList.add(CLASS_NAME_STATIC);var n=getTransitionDurationFromElement(this._dialog);EventHandler.off(this._element,TRANSITION_END),EventHandler.one(this._element,TRANSITION_END,(function(){t._element.classList.remove(CLASS_NAME_STATIC),e||(EventHandler.one(t._element,TRANSITION_END,(function(){t._element.style.overflowY=""})),emulateTransitionEnd(t._element,n))})),emulateTransitionEnd(this._element,n),this._element.focus()}else this.hide()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];Manipulator.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];Manipulator.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Manipulator.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(CLASS_NAME_OPEN)},e._resetScrollbar=function(){SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((function(t){var e=Manipulator.getDataAttribute(t,"padding-right");void 0!==e&&(Manipulator.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),SelectorEngine.find(""+SELECTOR_STICKY_CONTENT).forEach((function(t){var e=Manipulator.getDataAttribute(t,"margin-right");void 0!==e&&(Manipulator.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=Manipulator.getDataAttribute(document.body,"padding-right");void 0===t?document.body.style.paddingRight="":(Manipulator.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className=CLASS_NAME_SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each((function(){var i=Data.getData(this,DATA_KEY$5),o=_extends({},Default$3,Manipulator.getDataAttributes(this),"object"==typeof e&&e?e:{});if(i||(i=new t(this,o)),"string"==typeof e){if(void 0===i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else o.show&&i.show(n)}))},t.getInstance=function(t){return Data.getData(t,DATA_KEY$5)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$5}},{key:"Default",get:function(){return Default$3}}]),t}();EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$3,(function(t){var e=this,n=getElementFromSelector(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),EventHandler.one(n,EVENT_SHOW$2,(function(t){t.defaultPrevented||EventHandler.one(n,EVENT_HIDDEN$2,(function(){isVisible(e)&&e.focus()}))}));var i=Data.getData(n,DATA_KEY$5);if(!i){var o=_extends({},Manipulator.getDataAttributes(n),Manipulator.getDataAttributes(this));i=new Modal(n,o)}i.show(this)})),onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$5];t.fn[NAME$5]=Modal.jQueryInterface,t.fn[NAME$5].Constructor=Modal,t.fn[NAME$5].noConflict=function(){return t.fn[NAME$5]=e,Modal.jQueryInterface}}}));var uriAttrs=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,allowedAttribute=function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===uriAttrs.indexOf(n)||Boolean(t.nodeValue.match(SAFE_URL_PATTERN)||t.nodeValue.match(DATA_URL_PATTERN));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1},DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],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:[]};function sanitizeHtml(t,e,n){var i;if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var o=(new window.DOMParser).parseFromString(t,"text/html"),r=Object.keys(e),a=(i=[]).concat.apply(i,o.body.querySelectorAll("*")),s=function(t,n){var i,o=a[t],s=o.nodeName.toLowerCase();if(-1===r.indexOf(s))return o.parentNode.removeChild(o),"continue";var l=(i=[]).concat.apply(i,o.attributes),E=[].concat(e["*"]||[],e[s]||[]);l.forEach((function(t){allowedAttribute(t,E)||o.removeAttribute(t.nodeName)}))},l=0,E=a.length;l<E;l++)s(l);return o.body.innerHTML}var NAME$6="tooltip",VERSION$6="5.0.0-alpha3",DATA_KEY$6="bs.tooltip",EVENT_KEY$6="."+DATA_KEY$6,CLASS_PREFIX="bs-tooltip",BSCLS_PREFIX_REGEX=new RegExp("(^|\\s)"+CLASS_PREFIX+"\\S+","g"),DISALLOWED_ATTRIBUTES=["sanitize","allowList","sanitizeFn"],DefaultType$4={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object)"},AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Default$4={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,allowList:DefaultAllowlist,popperConfig:null},Event$1={HIDE:"hide"+EVENT_KEY$6,HIDDEN:"hidden"+EVENT_KEY$6,SHOW:"show"+EVENT_KEY$6,SHOWN:"shown"+EVENT_KEY$6,INSERTED:"inserted"+EVENT_KEY$6,CLICK:"click"+EVENT_KEY$6,FOCUSIN:"focusin"+EVENT_KEY$6,FOCUSOUT:"focusout"+EVENT_KEY$6,MOUSEENTER:"mouseenter"+EVENT_KEY$6,MOUSELEAVE:"mouseleave"+EVENT_KEY$6},CLASS_NAME_FADE$1="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$3="show",HOVER_STATE_SHOW="show",HOVER_STATE_OUT="out",SELECTOR_TOOLTIP_INNER=".tooltip-inner",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",Tooltip=function(){function t(t,e){if(void 0===Popper)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),Data.setData(t,this.constructor.DATA_KEY,this)}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=Data.getData(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),Data.setData(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(CLASS_NAME_SHOW$3))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),Data.removeData(this.element,this.constructor.DATA_KEY),EventHandler.off(this.element,this.constructor.EVENT_KEY),EventHandler.off(this.element.closest("."+CLASS_NAME_MODAL),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=EventHandler.trigger(this.element,this.constructor.Event.SHOW),n=findShadowRoot(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add(CLASS_NAME_FADE$1);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,s=this._getAttachment(a);this._addAttachmentClass(s);var l,E=this._getContainer();if(Data.setData(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||E.appendChild(o),EventHandler.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new Popper(this.element,o,this._getPopperConfig(s)),o.classList.add(CLASS_NAME_SHOW$3),"ontouchstart"in document.documentElement)(l=[]).concat.apply(l,document.body.children).forEach((function(t){EventHandler.on(t,"mouseover",noop())}));var _=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,EventHandler.trigger(t.element,t.constructor.Event.SHOWN),e===HOVER_STATE_OUT&&t._leave(null,t)};if(this.tip.classList.contains(CLASS_NAME_FADE$1)){var c=getTransitionDurationFromElement(this.tip);EventHandler.one(this.tip,TRANSITION_END,_),emulateTransitionEnd(this.tip,c)}else _()}},e.hide=function(){var t=this;if(this._popper){var e=this.getTipElement(),n=function(){t._hoverState!==HOVER_STATE_SHOW&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),EventHandler.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!EventHandler.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove(CLASS_NAME_SHOW$3),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return EventHandler.off(t,"mouseover",noop)}));if(this._activeTrigger[TRIGGER_CLICK]=!1,this._activeTrigger[TRIGGER_FOCUS]=!1,this._activeTrigger[TRIGGER_HOVER]=!1,this.tip.classList.contains(CLASS_NAME_FADE$1)){var o=getTransitionDurationFromElement(e);EventHandler.one(e,TRANSITION_END,n),emulateTransitionEnd(e,o)}else n();this._hoverState=""}}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER,t),this.getTitle()),t.classList.remove(CLASS_NAME_FADE$1,CLASS_NAME_SHOW$3)},e.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&isElement(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=sanitizeHtml(e,this.config.allowList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return _extends({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._addAttachmentClass=function(t){this.getTipElement().classList.add(CLASS_PREFIX+"-"+t)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=_extends({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:isElement(this.config.container)?this.config.container:SelectorEngine.findOne(this.config.container)},e._getAttachment=function(t){return AttachmentMap[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)EventHandler.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if(e!==TRIGGER_MANUAL){var n=e===TRIGGER_HOVER?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===TRIGGER_HOVER?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;EventHandler.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),EventHandler.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},EventHandler.on(this.element.closest("."+CLASS_NAME_MODAL),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=_extends({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||Data.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),Data.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?TRIGGER_FOCUS:TRIGGER_HOVER]=!0),e.getTipElement().classList.contains(CLASS_NAME_SHOW$3)||e._hoverState===HOVER_STATE_SHOW?e._hoverState=HOVER_STATE_SHOW:(clearTimeout(e._timeout),e._hoverState=HOVER_STATE_SHOW,e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){e._hoverState===HOVER_STATE_SHOW&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||Data.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),Data.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?TRIGGER_FOCUS:TRIGGER_HOVER]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=HOVER_STATE_OUT,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){e._hoverState===HOVER_STATE_OUT&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=Manipulator.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==DISALLOWED_ATTRIBUTES.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=_extends({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),typeCheckConfig(NAME$6,t,this.constructor.DefaultType),t.sanitize&&(t.template=sanitizeHtml(t.template,t.allowList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(BSCLS_PREFIX_REGEX);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove(CLASS_NAME_FADE$1),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY$6),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return Data.getData(t,DATA_KEY$6)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$6}},{key:"Default",get:function(){return Default$4}},{key:"NAME",get:function(){return NAME$6}},{key:"DATA_KEY",get:function(){return DATA_KEY$6}},{key:"Event",get:function(){return Event$1}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$6}},{key:"DefaultType",get:function(){return DefaultType$4}}]),t}();onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$6];t.fn[NAME$6]=Tooltip.jQueryInterface,t.fn[NAME$6].Constructor=Tooltip,t.fn[NAME$6].noConflict=function(){return t.fn[NAME$6]=e,Tooltip.jQueryInterface}}}));var NAME$7="popover",VERSION$7="5.0.0-alpha3",DATA_KEY$7="bs.popover",EVENT_KEY$7="."+DATA_KEY$7,CLASS_PREFIX$1="bs-popover",BSCLS_PREFIX_REGEX$1=new RegExp("(^|\\s)"+CLASS_PREFIX$1+"\\S+","g"),Default$5=_extends({},Tooltip.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),DefaultType$5=_extends({},Tooltip.DefaultType,{content:"(string|element|function)"}),Event$2={HIDE:"hide"+EVENT_KEY$7,HIDDEN:"hidden"+EVENT_KEY$7,SHOW:"show"+EVENT_KEY$7,SHOWN:"shown"+EVENT_KEY$7,INSERTED:"inserted"+EVENT_KEY$7,CLICK:"click"+EVENT_KEY$7,FOCUSIN:"focusin"+EVENT_KEY$7,FOCUSOUT:"focusout"+EVENT_KEY$7,MOUSEENTER:"mouseenter"+EVENT_KEY$7,MOUSELEAVE:"mouseleave"+EVENT_KEY$7},CLASS_NAME_FADE$2="fade",CLASS_NAME_SHOW$4="show",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",Popover=function(t){function e(){return t.apply(this,arguments)||this}_inheritsLoose(e,t);var n=e.prototype;return n.isWithContent=function(){return this.getTitle()||this._getContent()},n.setContent=function(){var t=this.getTipElement();this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE,t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT,t),e),t.classList.remove(CLASS_NAME_FADE$2,CLASS_NAME_SHOW$4)},n._addAttachmentClass=function(t){this.getTipElement().classList.add(CLASS_PREFIX$1+"-"+t)},n._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(BSCLS_PREFIX_REGEX$1);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$7),i="object"==typeof t?t:null;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i),Data.setData(this,DATA_KEY$7,n)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(t){return Data.getData(t,DATA_KEY$7)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$7}},{key:"Default",get:function(){return Default$5}},{key:"NAME",get:function(){return NAME$7}},{key:"DATA_KEY",get:function(){return DATA_KEY$7}},{key:"Event",get:function(){return Event$2}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$7}},{key:"DefaultType",get:function(){return DefaultType$5}}]),e}(Tooltip);onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$7];t.fn[NAME$7]=Popover.jQueryInterface,t.fn[NAME$7].Constructor=Popover,t.fn[NAME$7].noConflict=function(){return t.fn[NAME$7]=e,Popover.jQueryInterface}}}));var NAME$8="scrollspy",VERSION$8="5.0.0-alpha3",DATA_KEY$8="bs.scrollspy",EVENT_KEY$8="."+DATA_KEY$8,DATA_API_KEY$6=".data-api",Default$6={offset:10,method:"auto",target:""},DefaultType$6={offset:"number",method:"string",target:"(string|element)"},EVENT_ACTIVATE="activate"+EVENT_KEY$8,EVENT_SCROLL="scroll"+EVENT_KEY$8,EVENT_LOAD_DATA_API$1="load"+EVENT_KEY$8+DATA_API_KEY$6,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$2="active",SELECTOR_DATA_SPY='[data-spy="scroll"]',SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",METHOD_OFFSET="offset",METHOD_POSITION="position",ScrollSpy=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+SELECTOR_NAV_LINKS+", "+this._config.target+" "+SELECTOR_LIST_ITEMS+", "+this._config.target+" ."+CLASS_NAME_DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,EventHandler.on(this._scrollElement,EVENT_SCROLL,(function(t){return n._process(t)})),this.refresh(),this._process(),Data.setData(t,DATA_KEY$8,this)}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?METHOD_OFFSET:METHOD_POSITION,n="auto"===this._config.method?e:this._config.method,i=n===METHOD_POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),SelectorEngine.find(this._selector).map((function(t){var e=getSelectorFromElement(t),o=e?SelectorEngine.findOne(e):null;if(o){var r=o.getBoundingClientRect();if(r.width||r.height)return[Manipulator[n](o).top+i,e]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){Data.removeData(this._element,DATA_KEY$8),EventHandler.off(this._scrollElement,EVENT_KEY$8),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=_extends({},Default$6,"object"==typeof t&&t?t:{})).target&&isElement(t.target)){var e=t.target.id;e||(e=getUID(NAME$8),t.target.id=e),t.target="#"+e}return typeCheckConfig(NAME$8,t,DefaultType$6),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=SelectorEngine.findOne(e.join(","));n.classList.contains(CLASS_NAME_DROPDOWN_ITEM)?(SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE,n.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$2),n.classList.add(CLASS_NAME_ACTIVE$2)):(n.classList.add(CLASS_NAME_ACTIVE$2),SelectorEngine.parents(n,SELECTOR_NAV_LIST_GROUP).forEach((function(t){SelectorEngine.prev(t,SELECTOR_NAV_LINKS+", "+SELECTOR_LIST_ITEMS).forEach((function(t){return t.classList.add(CLASS_NAME_ACTIVE$2)})),SelectorEngine.prev(t,SELECTOR_NAV_ITEMS).forEach((function(t){SelectorEngine.children(t,SELECTOR_NAV_LINKS).forEach((function(t){return t.classList.add(CLASS_NAME_ACTIVE$2)}))}))}))),EventHandler.trigger(this._scrollElement,EVENT_ACTIVATE,{relatedTarget:t})},e._clear=function(){SelectorEngine.find(this._selector).filter((function(t){return t.classList.contains(CLASS_NAME_ACTIVE$2)})).forEach((function(t){return t.classList.remove(CLASS_NAME_ACTIVE$2)}))},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY$8);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return Data.getData(t,DATA_KEY$8)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$8}},{key:"Default",get:function(){return Default$6}}]),t}();EventHandler.on(window,EVENT_LOAD_DATA_API$1,(function(){SelectorEngine.find(SELECTOR_DATA_SPY).forEach((function(t){return new ScrollSpy(t,Manipulator.getDataAttributes(t))}))})),onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$8];t.fn[NAME$8]=ScrollSpy.jQueryInterface,t.fn[NAME$8].Constructor=ScrollSpy,t.fn[NAME$8].noConflict=function(){return t.fn[NAME$8]=e,ScrollSpy.jQueryInterface}}}));var NAME$9="tab",VERSION$9="5.0.0-alpha3",DATA_KEY$9="bs.tab",EVENT_KEY$9="."+DATA_KEY$9,DATA_API_KEY$7=".data-api",EVENT_HIDE$3="hide"+EVENT_KEY$9,EVENT_HIDDEN$3="hidden"+EVENT_KEY$9,EVENT_SHOW$3="show"+EVENT_KEY$9,EVENT_SHOWN$3="shown"+EVENT_KEY$9,EVENT_CLICK_DATA_API$6="click"+EVENT_KEY$9+DATA_API_KEY$7,CLASS_NAME_DROPDOWN_MENU="dropdown-menu",CLASS_NAME_ACTIVE$3="active",CLASS_NAME_DISABLED$1="disabled",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$5="show",SELECTOR_DROPDOWN$1=".dropdown",SELECTOR_NAV_LIST_GROUP$1=".nav, .list-group",SELECTOR_ACTIVE$1=".active",SELECTOR_ACTIVE_UL=":scope > li > .active",SELECTOR_DATA_TOGGLE$4='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",SELECTOR_DROPDOWN_ACTIVE_CHILD=":scope > .dropdown-menu .active",Tab=function(){function t(t){this._element=t,Data.setData(this._element,DATA_KEY$9,this)}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(CLASS_NAME_ACTIVE$3)||this._element.classList.contains(CLASS_NAME_DISABLED$1))){var e,n=getElementFromSelector(this._element),i=this._element.closest(SELECTOR_NAV_LIST_GROUP$1);if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?SELECTOR_ACTIVE_UL:SELECTOR_ACTIVE$1;e=(e=SelectorEngine.find(o,i))[e.length-1]}var r=null;if(e&&(r=EventHandler.trigger(e,EVENT_HIDE$3,{relatedTarget:this._element})),!(EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var a=function(){EventHandler.trigger(e,EVENT_HIDDEN$3,{relatedTarget:t._element}),EventHandler.trigger(t._element,EVENT_SHOWN$3,{relatedTarget:e})};n?this._activate(n,n.parentNode,a):a()}}},e.dispose=function(){Data.removeData(this._element,DATA_KEY$9),this._element=null},e._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?SelectorEngine.children(e,SELECTOR_ACTIVE$1):SelectorEngine.find(SELECTOR_ACTIVE_UL,e))[0],r=n&&o&&o.classList.contains(CLASS_NAME_FADE$3),a=function(){return i._transitionComplete(t,o,n)};if(o&&r){var s=getTransitionDurationFromElement(o);o.classList.remove(CLASS_NAME_SHOW$5),EventHandler.one(o,TRANSITION_END,a),emulateTransitionEnd(o,s)}else a()},e._transitionComplete=function(t,e,n){if(e){e.classList.remove(CLASS_NAME_ACTIVE$3);var i=SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD,e.parentNode);i&&i.classList.remove(CLASS_NAME_ACTIVE$3),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add(CLASS_NAME_ACTIVE$3),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),reflow(t),t.classList.contains(CLASS_NAME_FADE$3)&&t.classList.add(CLASS_NAME_SHOW$5),t.parentNode&&t.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU))&&(t.closest(SELECTOR_DROPDOWN$1)&&SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE$1).forEach((function(t){return t.classList.add(CLASS_NAME_ACTIVE$3)})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY$9)||new t(this);if("string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return Data.getData(t,DATA_KEY$9)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$9}}]),t}();EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$4,(function(t){t.preventDefault(),(Data.getData(this,DATA_KEY$9)||new Tab(this)).show()})),onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$9];t.fn[NAME$9]=Tab.jQueryInterface,t.fn[NAME$9].Constructor=Tab,t.fn[NAME$9].noConflict=function(){return t.fn[NAME$9]=e,Tab.jQueryInterface}}}));var NAME$a="toast",VERSION$a="5.0.0-alpha3",DATA_KEY$a="bs.toast",EVENT_KEY$a="."+DATA_KEY$a,EVENT_CLICK_DISMISS$1="click.dismiss"+EVENT_KEY$a,EVENT_HIDE$4="hide"+EVENT_KEY$a,EVENT_HIDDEN$4="hidden"+EVENT_KEY$a,EVENT_SHOW$4="show"+EVENT_KEY$a,EVENT_SHOWN$4="shown"+EVENT_KEY$a,CLASS_NAME_FADE$4="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW$6="show",CLASS_NAME_SHOWING="showing",DefaultType$7={animation:"boolean",autohide:"boolean",delay:"number"},Default$7={animation:!0,autohide:!0,delay:5e3},SELECTOR_DATA_DISMISS$1='[data-dismiss="toast"]',Toast=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),Data.setData(t,DATA_KEY$a,this)}var e=t.prototype;return e.show=function(){var t=this;if(!EventHandler.trigger(this._element,EVENT_SHOW$4).defaultPrevented){this._clearTimeout(),this._config.animation&&this._element.classList.add(CLASS_NAME_FADE$4);var e=function(){t._element.classList.remove(CLASS_NAME_SHOWING),t._element.classList.add(CLASS_NAME_SHOW$6),EventHandler.trigger(t._element,EVENT_SHOWN$4),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove(CLASS_NAME_HIDE),reflow(this._element),this._element.classList.add(CLASS_NAME_SHOWING),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,e),emulateTransitionEnd(this._element,n)}else e()}},e.hide=function(){var t=this;if(this._element.classList.contains(CLASS_NAME_SHOW$6)&&!EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented){var e=function(){t._element.classList.add(CLASS_NAME_HIDE),EventHandler.trigger(t._element,EVENT_HIDDEN$4)};if(this._element.classList.remove(CLASS_NAME_SHOW$6),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,e),emulateTransitionEnd(this._element,n)}else e()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains(CLASS_NAME_SHOW$6)&&this._element.classList.remove(CLASS_NAME_SHOW$6),EventHandler.off(this._element,EVENT_CLICK_DISMISS$1),Data.removeData(this._element,DATA_KEY$a),this._element=null,this._config=null},e._getConfig=function(t){return t=_extends({},Default$7,Manipulator.getDataAttributes(this._element),"object"==typeof t&&t?t:{}),typeCheckConfig(NAME$a,t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;EventHandler.on(this._element,EVENT_CLICK_DISMISS$1,SELECTOR_DATA_DISMISS$1,(function(){return t.hide()}))},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY$a);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return Data.getData(t,DATA_KEY$a)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$a}},{key:"DefaultType",get:function(){return DefaultType$7}},{key:"Default",get:function(){return Default$7}}]),t}();onDOMContentLoaded((function(){var t=getjQuery();if(t){var e=t.fn[NAME$a];t.fn[NAME$a]=Toast.jQueryInterface,t.fn[NAME$a].Constructor=Toast,t.fn[NAME$a].noConflict=function(){return t.fn[NAME$a]=e,Toast.jQueryInterface}}}));export{Alert,Button,Carousel,Collapse,Dropdown,Modal,Popover,ScrollSpy,Tab,Toast,Tooltip};
//# sourceMappingURL=bootstrap.esm.min.js.map \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.min.js.map b/dist/js/bootstrap.esm.min.js.map
index 57a3ea209b..8f3ab8f026 100644
--- a/dist/js/bootstrap.esm.min.js.map
+++ b/dist/js/bootstrap.esm.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","this","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","_normalizeParams","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","isNative","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","_this","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_extends","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","add","NODE_TEXT","SelectorEngine","_ref","concat","findFn","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","focus","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","_this9","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this11","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","_loop","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","querySelectorAll","target","this","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","indexOf","addHandler","_normalizeParams","handlers","previousFn","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","$","isNative","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","defineProperty","preventDefault","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","_this","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","normalizeData","val","Number","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","_extends","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","matches","find","_ref","concat","Element","prototype","findOne","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","e","add","move","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","elementInterval","parseInt","defaultInterval","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","focus","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","_this9","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this11","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","_loop","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nexport {\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n }\n})\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n }\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\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 const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha3'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n }\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n }\n})\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n }\n})\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n }\n})\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n }\n})\n\nexport default Toast\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js
index 94665e5da5..1c6474d44d 100644
--- a/dist/js/bootstrap.js
+++ b/dist/js/bootstrap.js
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -55,7 +55,7 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): util/index.js
+ * Bootstrap (v5.0.0-alpha3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -228,9 +228,17 @@
return null;
};
+ var onDOMContentLoaded = function onDOMContentLoaded(callback) {
+ if (document.readyState === 'loading') {
+ document.addEventListener('DOMContentLoaded', callback);
+ } else {
+ callback();
+ }
+ };
+
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/data.js
+ * Bootstrap (v5.0.0-alpha3): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -295,81 +303,9 @@
}
};
- /* istanbul ignore file */
- var find = Element.prototype.querySelectorAll;
- var findOne = Element.prototype.querySelector; // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
-
- var defaultPreventedPreservedOnDispatch = function () {
- var e = new CustomEvent('Bootstrap', {
- cancelable: true
- });
- var element = document.createElement('div');
- element.addEventListener('Bootstrap', function () {
- return null;
- });
- e.preventDefault();
- element.dispatchEvent(e);
- return e.defaultPrevented;
- }();
-
- var scopeSelectorRegex = /:scope\b/;
-
- var supportScopeQuery = function () {
- var element = document.createElement('div');
-
- try {
- element.querySelectorAll(':scope *');
- } catch (_) {
- return false;
- }
-
- return true;
- }();
-
- if (!supportScopeQuery) {
- find = function find(selector) {
- if (!scopeSelectorRegex.test(selector)) {
- return this.querySelectorAll(selector);
- }
-
- var hasId = Boolean(this.id);
-
- if (!hasId) {
- this.id = getUID('scope');
- }
-
- var nodeList = null;
-
- try {
- selector = selector.replace(scopeSelectorRegex, "#" + this.id);
- nodeList = this.querySelectorAll(selector);
- } finally {
- if (!hasId) {
- this.removeAttribute('id');
- }
- }
-
- return nodeList;
- };
-
- findOne = function findOne(selector) {
- if (!scopeSelectorRegex.test(selector)) {
- return this.querySelector(selector);
- }
-
- var matches = find.call(this, selector);
-
- if (typeof matches[0] !== 'undefined') {
- return matches[0];
- }
-
- return null;
- };
- }
-
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/event-handler.js
+ * Bootstrap (v5.0.0-alpha3): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -379,7 +315,6 @@
* ------------------------------------------------------------------------
*/
- var $ = getjQuery();
var namespaceRegex = /[^.]*(?=\..*)\.|.*/;
var stripNameRegex = /\..*/;
var stripUidRegex = /::\d+$/;
@@ -588,6 +523,7 @@
return null;
}
+ var $ = getjQuery();
var typeEvent = event.replace(stripNameRegex, '');
var inNamespace = event !== typeEvent;
var isNative = nativeEvents.indexOf(typeEvent) > -1;
@@ -628,14 +564,6 @@
if (defaultPrevented) {
evt.preventDefault();
-
- if (!defaultPreventedPreservedOnDispatch) {
- Object.defineProperty(evt, 'defaultPrevented', {
- get: function get() {
- return true;
- }
- });
- }
}
if (nativeDispatch) {
@@ -657,7 +585,7 @@
*/
var NAME = 'alert';
- var VERSION = '5.0.0-alpha2';
+ var VERSION = '5.0.0-alpha3';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -785,26 +713,28 @@
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
- var $$1 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .alert to jQuery only if jQuery is present
+ * add .Alert to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$1) {
- var JQUERY_NO_CONFLICT = $$1.fn[NAME];
- $$1.fn[NAME] = Alert.jQueryInterface;
- $$1.fn[NAME].Constructor = Alert;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ $.fn[NAME] = Alert.jQueryInterface;
+ $.fn[NAME].Constructor = Alert;
- $$1.fn[NAME].noConflict = function () {
- $$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Alert.jQueryInterface;
- };
- }
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Alert.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -813,7 +743,7 @@
*/
var NAME$1 = 'button';
- var VERSION$1 = '5.0.0-alpha2';
+ var VERSION$1 = '5.0.0-alpha3';
var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
@@ -892,30 +822,32 @@
data.toggle();
});
- var $$2 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .button to jQuery only if jQuery is present
+ * add .Button to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$2) {
- var JQUERY_NO_CONFLICT$1 = $$2.fn[NAME$1];
- $$2.fn[NAME$1] = Button.jQueryInterface;
- $$2.fn[NAME$1].Constructor = Button;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$1];
+ $.fn[NAME$1] = Button.jQueryInterface;
+ $.fn[NAME$1].Constructor = Button;
- $$2.fn[NAME$1].noConflict = function () {
- $$2.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
- return Button.jQueryInterface;
- };
- }
+ $.fn[NAME$1].noConflict = function () {
+ $.fn[NAME$1] = JQUERY_NO_CONFLICT;
+ return Button.jQueryInterface;
+ };
+ }
+ });
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/manipulator.js
+ * Bootstrap (v5.0.0-alpha3): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -984,36 +916,36 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js
+ * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
+
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
-
var NODE_TEXT = 3;
var SelectorEngine = {
matches: function matches(element, selector) {
return element.matches(selector);
},
- find: function find$1(selector, element) {
+ find: function find(selector, element) {
var _ref;
if (element === void 0) {
element = document.documentElement;
}
- return (_ref = []).concat.apply(_ref, find.call(element, selector));
+ return (_ref = []).concat.apply(_ref, Element.prototype.querySelectorAll.call(element, selector));
},
- findOne: function findOne$1(selector, element) {
+ findOne: function findOne(selector, element) {
if (element === void 0) {
element = document.documentElement;
}
- return findOne.call(element, selector);
+ return Element.prototype.querySelector.call(element, selector);
},
children: function children(element, selector) {
var _ref2;
@@ -1073,7 +1005,7 @@
*/
var NAME$2 = 'carousel';
- var VERSION$2 = '5.0.0-alpha2';
+ var VERSION$2 = '5.0.0-alpha3';
var DATA_KEY$2 = 'bs.carousel';
var EVENT_KEY$2 = "." + DATA_KEY$2;
var DATA_API_KEY$2 = '.data-api';
@@ -1211,6 +1143,8 @@
}
if (this._config && this._config.interval && !this._isPaused) {
+ this._updateInterval();
+
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
}
};
@@ -1452,6 +1386,23 @@
}
};
+ _proto._updateInterval = function _updateInterval() {
+ var element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
+
+ if (!element) {
+ return;
+ }
+
+ var elementInterval = parseInt(element.getAttribute('data-interval'), 10);
+
+ if (elementInterval) {
+ this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
+ this._config.interval = elementInterval;
+ } else {
+ this._config.interval = this._config.defaultInterval || this._config.interval;
+ }
+ };
+
_proto._slide = function _slide(direction, element) {
var _this4 = this;
@@ -1502,20 +1453,13 @@
this._setActiveIndicatorElement(nextElement);
+ this._activeElement = nextElement;
+
if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
nextElement.classList.add(orderClassName);
reflow(nextElement);
activeElement.classList.add(directionalClassName);
nextElement.classList.add(directionalClassName);
- var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
-
- if (nextElementInterval) {
- this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
- this._config.interval = nextElementInterval;
- } else {
- this._config.interval = this._config.defaultInterval || this._config.interval;
- }
-
var transitionDuration = getTransitionDurationFromElement(activeElement);
EventHandler.one(activeElement, TRANSITION_END, function () {
nextElement.classList.remove(directionalClassName, orderClassName);
@@ -1642,26 +1586,28 @@
Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2));
}
});
- var $$3 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .carousel to jQuery only if jQuery is present
+ * add .Carousel to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$3) {
- var JQUERY_NO_CONFLICT$2 = $$3.fn[NAME$2];
- $$3.fn[NAME$2] = Carousel.jQueryInterface;
- $$3.fn[NAME$2].Constructor = Carousel;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$2];
+ $.fn[NAME$2] = Carousel.jQueryInterface;
+ $.fn[NAME$2].Constructor = Carousel;
- $$3.fn[NAME$2].noConflict = function () {
- $$3.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
- return Carousel.jQueryInterface;
- };
- }
+ $.fn[NAME$2].noConflict = function () {
+ $.fn[NAME$2] = JQUERY_NO_CONFLICT;
+ return Carousel.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -1670,7 +1616,7 @@
*/
var NAME$3 = 'collapse';
- var VERSION$3 = '5.0.0-alpha2';
+ var VERSION$3 = '5.0.0-alpha3';
var DATA_KEY$3 = 'bs.collapse';
var EVENT_KEY$3 = "." + DATA_KEY$3;
var DATA_API_KEY$3 = '.data-api';
@@ -2042,26 +1988,28 @@
Collapse.collapseInterface(element, config);
});
});
- var $$4 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .collapse to jQuery only if jQuery is present
+ * add .Collapse to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$4) {
- var JQUERY_NO_CONFLICT$3 = $$4.fn[NAME$3];
- $$4.fn[NAME$3] = Collapse.jQueryInterface;
- $$4.fn[NAME$3].Constructor = Collapse;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$3];
+ $.fn[NAME$3] = Collapse.jQueryInterface;
+ $.fn[NAME$3].Constructor = Collapse;
- $$4.fn[NAME$3].noConflict = function () {
- $$4.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
- return Collapse.jQueryInterface;
- };
- }
+ $.fn[NAME$3].noConflict = function () {
+ $.fn[NAME$3] = JQUERY_NO_CONFLICT;
+ return Collapse.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -2070,7 +2018,7 @@
*/
var NAME$4 = 'dropdown';
- var VERSION$4 = '5.0.0-alpha2';
+ var VERSION$4 = '5.0.0-alpha3';
var DATA_KEY$4 = 'bs.dropdown';
var EVENT_KEY$4 = "." + DATA_KEY$4;
var DATA_API_KEY$4 = '.data-api';
@@ -2304,11 +2252,7 @@
var placement = PLACEMENT_BOTTOM; // Handle dropup
if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
- placement = PLACEMENT_TOP;
-
- if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
- placement = PLACEMENT_TOPEND;
- }
+ placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {
placement = PLACEMENT_RIGHT;
} else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {
@@ -2552,26 +2496,28 @@
EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
return e.stopPropagation();
});
- var $$5 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .dropdown to jQuery only if jQuery is present
+ * add .Dropdown to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$5) {
- var JQUERY_NO_CONFLICT$4 = $$5.fn[NAME$4];
- $$5.fn[NAME$4] = Dropdown.jQueryInterface;
- $$5.fn[NAME$4].Constructor = Dropdown;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$4];
+ $.fn[NAME$4] = Dropdown.jQueryInterface;
+ $.fn[NAME$4].Constructor = Dropdown;
- $$5.fn[NAME$4].noConflict = function () {
- $$5.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
- return Dropdown.jQueryInterface;
- };
- }
+ $.fn[NAME$4].noConflict = function () {
+ $.fn[NAME$4] = JQUERY_NO_CONFLICT;
+ return Dropdown.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -2580,7 +2526,7 @@
*/
var NAME$5 = 'modal';
- var VERSION$5 = '5.0.0-alpha2';
+ var VERSION$5 = '5.0.0-alpha3';
var DATA_KEY$5 = 'bs.modal';
var EVENT_KEY$5 = "." + DATA_KEY$5;
var DATA_API_KEY$5 = '.data-api';
@@ -3181,30 +3127,32 @@
data.show(this);
});
- var $$6 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .modal to jQuery only if jQuery is present
+ * add .Modal to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$6) {
- var JQUERY_NO_CONFLICT$5 = $$6.fn[NAME$5];
- $$6.fn[NAME$5] = Modal.jQueryInterface;
- $$6.fn[NAME$5].Constructor = Modal;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$5];
+ $.fn[NAME$5] = Modal.jQueryInterface;
+ $.fn[NAME$5].Constructor = Modal;
- $$6.fn[NAME$5].noConflict = function () {
- $$6.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
- return Modal.jQueryInterface;
- };
- }
+ $.fn[NAME$5].noConflict = function () {
+ $.fn[NAME$5] = JQUERY_NO_CONFLICT;
+ return Modal.jQueryInterface;
+ };
+ }
+ });
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): util/sanitizer.js
+ * Bootstrap (v5.0.0-alpha3): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3336,7 +3284,7 @@
*/
var NAME$6 = 'tooltip';
- var VERSION$6 = '5.0.0-alpha2';
+ var VERSION$6 = '5.0.0-alpha3';
var DATA_KEY$6 = 'bs.tooltip';
var EVENT_KEY$6 = "." + DATA_KEY$6;
var CLASS_PREFIX = 'bs-tooltip';
@@ -4060,27 +4008,29 @@
return Tooltip;
}();
-
- var $$7 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .tooltip to jQuery only if jQuery is present
+ * add .Tooltip to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
- if ($$7) {
- var JQUERY_NO_CONFLICT$6 = $$7.fn[NAME$6];
- $$7.fn[NAME$6] = Tooltip.jQueryInterface;
- $$7.fn[NAME$6].Constructor = Tooltip;
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- $$7.fn[NAME$6].noConflict = function () {
- $$7.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
- return Tooltip.jQueryInterface;
- };
- }
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$6];
+ $.fn[NAME$6] = Tooltip.jQueryInterface;
+ $.fn[NAME$6].Constructor = Tooltip;
+
+ $.fn[NAME$6].noConflict = function () {
+ $.fn[NAME$6] = JQUERY_NO_CONFLICT;
+ return Tooltip.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -4089,7 +4039,7 @@
*/
var NAME$7 = 'popover';
- var VERSION$7 = '5.0.0-alpha2';
+ var VERSION$7 = '5.0.0-alpha3';
var DATA_KEY$7 = 'bs.popover';
var EVENT_KEY$7 = "." + DATA_KEY$7;
var CLASS_PREFIX$1 = 'bs-popover';
@@ -4249,26 +4199,29 @@
return Popover;
}(Tooltip);
-
- var $$8 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
+ * add .Popover to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
- if ($$8) {
- var JQUERY_NO_CONFLICT$7 = $$8.fn[NAME$7];
- $$8.fn[NAME$7] = Popover.jQueryInterface;
- $$8.fn[NAME$7].Constructor = Popover;
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- $$8.fn[NAME$7].noConflict = function () {
- $$8.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
- return Popover.jQueryInterface;
- };
- }
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$7];
+ $.fn[NAME$7] = Popover.jQueryInterface;
+ $.fn[NAME$7].Constructor = Popover;
+
+ $.fn[NAME$7].noConflict = function () {
+ $.fn[NAME$7] = JQUERY_NO_CONFLICT;
+ return Popover.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -4277,7 +4230,7 @@
*/
var NAME$8 = 'scrollspy';
- var VERSION$8 = '5.0.0-alpha2';
+ var VERSION$8 = '5.0.0-alpha3';
var DATA_KEY$8 = 'bs.scrollspy';
var EVENT_KEY$8 = "." + DATA_KEY$8;
var DATA_API_KEY$6 = '.data-api';
@@ -4549,25 +4502,28 @@
return new ScrollSpy(spy, Manipulator.getDataAttributes(spy));
});
});
- var $$9 = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
+ * add .ScrollSpy to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$9) {
- var JQUERY_NO_CONFLICT$8 = $$9.fn[NAME$8];
- $$9.fn[NAME$8] = ScrollSpy.jQueryInterface;
- $$9.fn[NAME$8].Constructor = ScrollSpy;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$8];
+ $.fn[NAME$8] = ScrollSpy.jQueryInterface;
+ $.fn[NAME$8].Constructor = ScrollSpy;
- $$9.fn[NAME$8].noConflict = function () {
- $$9.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
- return ScrollSpy.jQueryInterface;
- };
- }
+ $.fn[NAME$8].noConflict = function () {
+ $.fn[NAME$8] = JQUERY_NO_CONFLICT;
+ return ScrollSpy.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -4576,7 +4532,7 @@
*/
var NAME$9 = 'tab';
- var VERSION$9 = '5.0.0-alpha2';
+ var VERSION$9 = '5.0.0-alpha3';
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
@@ -4775,26 +4731,28 @@
var data = Data.getData(this, DATA_KEY$9) || new Tab(this);
data.show();
});
- var $$a = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .tab to jQuery only if jQuery is present
+ * add .Tab to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- if ($$a) {
- var JQUERY_NO_CONFLICT$9 = $$a.fn[NAME$9];
- $$a.fn[NAME$9] = Tab.jQueryInterface;
- $$a.fn[NAME$9].Constructor = Tab;
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$9];
+ $.fn[NAME$9] = Tab.jQueryInterface;
+ $.fn[NAME$9].Constructor = Tab;
- $$a.fn[NAME$9].noConflict = function () {
- $$a.fn[NAME$9] = JQUERY_NO_CONFLICT$9;
- return Tab.jQueryInterface;
- };
- }
+ $.fn[NAME$9].noConflict = function () {
+ $.fn[NAME$9] = JQUERY_NO_CONFLICT;
+ return Tab.jQueryInterface;
+ };
+ }
+ });
/**
* ------------------------------------------------------------------------
@@ -4803,7 +4761,7 @@
*/
var NAME$a = 'toast';
- var VERSION$a = '5.0.0-alpha2';
+ var VERSION$a = '5.0.0-alpha3';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$a;
@@ -4998,31 +4956,33 @@
return Toast;
}();
-
- var $$b = getjQuery();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
- * add .toast to jQuery only if jQuery is present
+ * add .Toast to jQuery only if jQuery is present
*/
- /* istanbul ignore if */
- if ($$b) {
- var JQUERY_NO_CONFLICT$a = $$b.fn[NAME$a];
- $$b.fn[NAME$a] = Toast.jQueryInterface;
- $$b.fn[NAME$a].Constructor = Toast;
+ onDOMContentLoaded(function () {
+ var $ = getjQuery();
+ /* istanbul ignore if */
- $$b.fn[NAME$a].noConflict = function () {
- $$b.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
- return Toast.jQueryInterface;
- };
- }
+ if ($) {
+ var JQUERY_NO_CONFLICT = $.fn[NAME$a];
+ $.fn[NAME$a] = Toast.jQueryInterface;
+ $.fn[NAME$a].Constructor = Toast;
+
+ $.fn[NAME$a].noConflict = function () {
+ $.fn[NAME$a] = JQUERY_NO_CONFLICT;
+ return Toast.jQueryInterface;
+ };
+ }
+ });
/**
* --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha2): index.umd.js
+ * Bootstrap (v5.0.0-alpha3): index.umd.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
diff --git a/dist/js/bootstrap.js.map b/dist/js/bootstrap.js.map
index 89d1379094..4e231a0d78 100644
--- a/dist/js/bootstrap.js.map
+++ b/dist/js/bootstrap.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","add","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nexport {\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n }\n})\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n }\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\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 const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha3'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n }\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n }\n})\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n }\n})\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n }\n})\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n }\n})\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","querySelectorAll","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","$","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","defineProperty","preventDefault","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","matches","find","concat","Element","prototype","findOne","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","e","add","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","elementInterval","parseInt","defaultInterval","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":"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"} \ No newline at end of file
diff --git a/dist/js/bootstrap.min.js b/dist/js/bootstrap.min.js
index bbb2401728..45ac1c59f7 100644
--- a/dist/js/bootstrap.min.js
+++ b/dist/js/bootstrap.min.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v5.0.0-alpha2 (https://getbootstrap.com/)
+ * Bootstrap v5.0.0-alpha3 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("popper.js")):"function"==typeof define&&define.amd?define(["popper.js"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var n=e(t);function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function s(){return(s=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}var r,a,l,c,u=function(t){do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},h=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},f=function(t){var e=h(t);return e&&document.querySelector(e)?e:null},d=function(t){var e=h(t);return e?document.querySelector(e):null},g=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),s=parseFloat(i);return o||s?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},p=function(t){t.dispatchEvent(new Event("transitionend"))},m=function(t){return(t[0]||t).nodeType},_=function(t,e){var n=!1,i=e+5;t.addEventListener("transitionend",(function e(){n=!0,t.removeEventListener("transitionend",e)})),setTimeout((function(){n||p(t)}),i)},v=function(t,e,n){Object.keys(n).forEach((function(i){var o,s=n[i],r=e[i],a=r&&m(r)?"element":null==(o=r)?""+o:{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+s+'".')}))},b=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},y=function(){return function(){}},w=function(t){return t.offsetHeight},E=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},T=(r={},a=1,{set:function(t,e,n){void 0===t.bsKey&&(t.bsKey={key:e,id:a},a++),r[t.bsKey.id]=n},get:function(t,e){if(!t||void 0===t.bsKey)return null;var n=t.bsKey;return n.key===e?r[n.id]:null},delete:function(t,e){if(void 0!==t.bsKey){var n=t.bsKey;n.key===e&&(delete r[n.id],delete t.bsKey)}}}),k=function(t,e,n){T.set(t,e,n)},L=function(t,e){return T.get(t,e)},C=function(t,e){T.delete(t,e)},A=Element.prototype.querySelectorAll,S=Element.prototype.querySelector,D=(l=new CustomEvent("Bootstrap",{cancelable:!0}),(c=document.createElement("div")).addEventListener("Bootstrap",(function(){return null})),l.preventDefault(),c.dispatchEvent(l),l.defaultPrevented),I=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(A=function(t){if(!I.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=u("scope"));var n=null;try{t=t.replace(I,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},S=function(t){if(!I.test(t))return this.querySelector(t);var e=A.call(this,t);return void 0!==e[0]?e[0]:null});var O=E(),N=/[^.]*(?=\..*)\.|.*/,j=/\..*/,x=/::\d+$/,P={},R=1,H={mouseenter:"mouseover",mouseleave:"mouseout"},B=["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 M(t,e){return e&&e+"::"+R++||t.uidEvent||R++}function Q(t){var e=M(t);return t.uidEvent=e,P[e]=P[e]||{},P[e]}function U(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,s=i.length;o<s;o++){var r=t[i[o]];if(r.originalHandler===e&&r.delegationSelector===n)return r}return null}function F(t,e,n){var i="string"==typeof e,o=i?n:e,s=t.replace(j,""),r=H[s];return r&&(s=r),B.indexOf(s)>-1||(s=t),[i,o,s]}function W(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var s=F(e,n,i),r=s[0],a=s[1],l=s[2],c=Q(t),u=c[l]||(c[l]={}),h=U(u,a,r?n:null);if(h)h.oneOff=h.oneOff&&o;else{var f=M(a,e.replace(N,"")),d=r?function(t,e,n){return function i(o){for(var s=t.querySelectorAll(e),r=o.target;r&&r!==this;r=r.parentNode)for(var a=s.length;a--;)if(s[a]===r)return o.delegateTarget=r,i.oneOff&&V.off(t,o.type,n),n.apply(r,[o]);return null}}(t,n,i):function(t,e){return function n(i){return i.delegateTarget=t,n.oneOff&&V.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=r?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=f,u[f]=d,t.addEventListener(l,d,r)}}}function K(t,e,n,i,o){var s=U(e[n],i,o);s&&(t.removeEventListener(n,s,Boolean(o)),delete e[n][s.uidEvent])}var V={on:function(t,e,n,i){W(t,e,n,i,!1)},one:function(t,e,n,i){W(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=F(e,n,i),s=o[0],r=o[1],a=o[2],l=a!==e,c=Q(t),u="."===e.charAt(0);if(void 0===r){u&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(s){if(s.indexOf(i)>-1){var r=o[s];K(t,e,n,r.originalHandler,r.delegationSelector)}}))}(t,c,n,e.slice(1))}));var h=c[a]||{};Object.keys(h).forEach((function(n){var i=n.replace(x,"");if(!l||e.indexOf(i)>-1){var o=h[n];K(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;K(t,c,a,r,s?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(j,""),s=e!==o,r=B.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return s&&O&&(i=O.Event(e,n),O(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),r?(u=document.createEvent("HTMLEvents")).initEvent(o,a,!0):u=new CustomEvent(e,{bubbles:a,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})})),c&&(u.preventDefault(),D||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},q="alert",z=function(){function t(t){this._element=t,this._element&&k(t,"bs.alert",this)}var e=t.prototype;return e.close=function(t){var e=t?this._getRootElement(t):this._element,n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},e.dispose=function(){C(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){return d(t)||t.closest(".alert")},e._triggerCloseEvent=function(t){return V.trigger(t,"close.bs.alert")},e._removeElement=function(t){var e=this;if(t.classList.remove("show"),t.classList.contains("fade")){var n=g(t);V.one(t,"transitionend",(function(){return e._destroyElement(t)})),_(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),V.trigger(t,"closed.bs.alert")},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.alert");n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return L(t,"bs.alert")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}}]),t}();V.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',z.handleDismiss(new z));var X=E();if(X){var Y=X.fn[q];X.fn[q]=z.jQueryInterface,X.fn[q].Constructor=z,X.fn[q].noConflict=function(){return X.fn[q]=Y,z.jQueryInterface}}var $=function(){function t(t){this._element=t,k(t,"bs.button",this)}var e=t.prototype;return e.toggle=function(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))},e.dispose=function(){C(this._element,"bs.button"),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.button");n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return L(t,"bs.button")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}}]),t}();V.on(document,"click.bs.button.data-api",'[data-toggle="button"]',(function(t){t.preventDefault();var e=t.target.closest('[data-toggle="button"]'),n=L(e,"bs.button");n||(n=new $(e)),n.toggle()}));var G=E();if(G){var Z=G.fn.button;G.fn.button=$.jQueryInterface,G.fn.button.Constructor=$,G.fn.button.noConflict=function(){return G.fn.button=Z,$.jQueryInterface}}function J(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function tt(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}var et={setDataAttribute:function(t,e,n){t.setAttribute("data-"+tt(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+tt(e))},getDataAttributes:function(t){if(!t)return{};var e=s({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=J(e[t])})),e},getDataAttribute:function(t,e){return J(t.getAttribute("data-"+tt(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},nt={matches:function(t,e){return t.matches(e)},find:function(t,e){var n;return void 0===e&&(e=document.documentElement),(n=[]).concat.apply(n,A.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),S.call(e,t)},children:function(t,e){var n,i=(n=[]).concat.apply(n,t.children);return i.filter((function(t){return t.matches(e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},prev:function(t,e){for(var n=t.previousElementSibling;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next:function(t,e){for(var n=t.nextElementSibling;n;){if(this.matches(n,e))return[n];n=n.nextElementSibling}return[]}},it="carousel",ot=".bs.carousel",st={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},rt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},at={TOUCH:"touch",PEN:"pen"},lt=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=nt.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners(),k(t,"bs.carousel",this)}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){!document.hidden&&b(this._element)&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),nt.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=nt.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)V.one(this._element,"slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){V.off(this._element,ot),C(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=s({},st,t),v(it,t,rt),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&V.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(V.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),V.on(this._element,"mouseleave.bs.carousel",(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&at[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&at[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};nt.find(".carousel-item img",this._element).forEach((function(t){V.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(V.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),V.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(V.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),V.on(this._element,"touchmove.bs.carousel",(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),V.on(this._element,"touchend.bs.carousel",(function(t){return n(t)})))},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.key){case"ArrowLeft":t.preventDefault(),this.prev();break;case"ArrowRight":t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?nt.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),s=this._items.length-1;if((i&&0===o||n&&o===s)&&!this._config.wrap)return e;var r=(o+("prev"===t?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(nt.findOne(".active.carousel-item",this._element));return V.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=nt.find(".active",this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add("active")}},e._slide=function(t,e){var n,i,o,s=this,r=nt.findOne(".active.carousel-item",this._element),a=this._getItemIndex(r),l=e||r&&this._getItemByDirection(t,r),c=this._getItemIndex(l),u=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",o="left"):(n="carousel-item-right",i="carousel-item-prev",o="right"),l&&l.classList.contains("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&r&&l){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains("slide")){l.classList.add(i),w(l),r.classList.add(n),l.classList.add(n);var h=parseInt(l.getAttribute("data-interval"),10);h?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=h):this._config.interval=this._config.defaultInterval||this._config.interval;var f=g(r);V.one(r,"transitionend",(function(){l.classList.remove(n,i),l.classList.add("active"),r.classList.remove("active",i,n),s._isSliding=!1,setTimeout((function(){V.trigger(s._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c})}),0)})),_(r,f)}else r.classList.remove("active"),l.classList.add("active"),this._isSliding=!1,V.trigger(this._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c});u&&this.cycle()}},t.carouselInterface=function(e,n){var i=L(e,"bs.carousel"),o=s({},st,et.getDataAttributes(e));"object"==typeof n&&(o=s({},o,n));var r="string"==typeof n?n:o.slide;if(i||(i=new t(e,o)),"number"==typeof n)i.to(n);else if("string"==typeof r){if(void 0===i[r])throw new TypeError('No method named "'+r+'"');i[r]()}else o.interval&&o.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var n=d(this);if(n&&n.classList.contains("carousel")){var i=s({},et.getDataAttributes(n),et.getDataAttributes(this)),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),t.carouselInterface(n,i),o&&L(n,"bs.carousel").to(o),e.preventDefault()}},t.getInstance=function(t){return L(t,"bs.carousel")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return st}}]),t}();V.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",lt.dataApiClickHandler),V.on(window,"load.bs.carousel.data-api",(function(){for(var t=nt.find('[data-ride="carousel"]'),e=0,n=t.length;e<n;e++)lt.carouselInterface(t[e],L(t[e],"bs.carousel"))}));var ct=E();if(ct){var ut=ct.fn[it];ct.fn[it]=lt.jQueryInterface,ct.fn[it].Constructor=lt,ct.fn[it].noConflict=function(){return ct.fn[it]=ut,lt.jQueryInterface}}var ht="collapse",ft={toggle:!0,parent:""},dt={toggle:"boolean",parent:"(string|element)"},gt=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=nt.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]');for(var n=nt.find('[data-toggle="collapse"]'),i=0,o=n.length;i<o;i++){var s=n[i],r=f(s),a=nt.find(r).filter((function(e){return e===t}));null!==r&&a.length&&(this._selector=r,this._triggerArray.push(s))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),k(t,"bs.collapse",this)}var e=t.prototype;return e.toggle=function(){this._element.classList.contains("show")?this.hide():this.show()},e.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains("show")){var n,i;this._parent&&0===(n=nt.find(".show, .collapsing",this._parent).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains("collapse")}))).length&&(n=null);var o=nt.findOne(this._selector);if(n){var s=n.filter((function(t){return o!==t}));if((i=s[0]?L(s[0],"bs.collapse"):null)&&i._isTransitioning)return}if(!V.trigger(this._element,"show.bs.collapse").defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||k(e,"bs.collapse",null)}));var r=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[r]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(r[0].toUpperCase()+r.slice(1)),l=g(this._element);V.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse","show"),e._element.style[r]="",e.setTransitioning(!1),V.trigger(e._element,"shown.bs.collapse")})),_(this._element,l),this._element.style[r]=this._element[a]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains("show")&&!V.trigger(this._element,"hide.bs.collapse").defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",w(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],s=d(o);s&&!s.classList.contains("show")&&(o.classList.add("collapsed"),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var r=g(this._element);V.one(this._element,"transitionend",(function(){t.setTransitioning(!1),t._element.classList.remove("collapsing"),t._element.classList.add("collapse"),V.trigger(t._element,"hidden.bs.collapse")})),_(this._element,r)}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){C(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=s({},ft,t)).toggle=Boolean(t.toggle),v(ht,t,dt),t},e._getDimension=function(){return this._element.classList.contains("width")?"width":"height"},e._getParent=function(){var t=this,e=this._config.parent;m(e)?void 0===e.jquery&&void 0===e[0]||(e=e[0]):e=nt.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return nt.find(n,e).forEach((function(e){var n=d(e);t._addAriaAndCollapsedClass(n,[e])})),e},e._addAriaAndCollapsedClass=function(t,e){if(t&&e.length){var n=t.classList.contains("show");e.forEach((function(t){n?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,n){var i=L(e,"bs.collapse"),o=s({},ft,et.getDataAttributes(e),"object"==typeof n&&n?n:{});if(!i&&o.toggle&&"string"==typeof n&&/show|hide/.test(n)&&(o.toggle=!1),i||(i=new t(e,o)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return L(t,"bs.collapse")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return ft}}]),t}();V.on(document,"click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.target.tagName&&t.preventDefault();var e=et.getDataAttributes(this),n=f(this);nt.find(n).forEach((function(t){var n,i=L(t,"bs.collapse");i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,gt.collapseInterface(t,n)}))}));var pt=E();if(pt){var mt=pt.fn[ht];pt.fn[ht]=gt.jQueryInterface,pt.fn[ht].Constructor=gt,pt.fn[ht].noConflict=function(){return pt.fn[ht]=mt,gt.jQueryInterface}}var _t="dropdown",vt=new RegExp("ArrowUp|ArrowDown|Escape"),bt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},yt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},wt=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),k(t,"bs.dropdown",this)}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var e=this._element.classList.contains("show");t.clearMenus(),e||this.show()}},e.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var e=t.getParentFromElement(this._element),i={relatedTarget:this._element};if(!V.trigger(this._element,"show.bs.dropdown",i).defaultPrevented){if(!this._inNavbar){if(void 0===n.default)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=e:m(this._config.reference)&&(o=this._config.reference,void 0!==this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add("position-static"),this._popper=new n.default(o,this._menu,this._getPopperConfig())}var s;if("ontouchstart"in document.documentElement&&!e.closest(".navbar-nav"))(s=[]).concat.apply(s,document.body.children).forEach((function(t){return V.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),et.toggleClass(this._menu,"show"),et.toggleClass(this._element,"show"),V.trigger(e,"shown.bs.dropdown",i)}}},e.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};V.trigger(e,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),et.toggleClass(this._menu,"show"),et.toggleClass(this._element,"show"),V.trigger(e,"hidden.bs.dropdown",n))}},e.dispose=function(){C(this._element,"bs.dropdown"),V.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;V.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=s({},this.constructor.Default,et.getDataAttributes(this._element),t),v(_t,t,this.constructor.DefaultType),t},e._getMenuElement=function(){return nt.next(this._element,".dropdown-menu")[0]},e._getPlacement=function(){var t=this._element.parentNode,e="bottom-start";return t.classList.contains("dropup")?(e="top-start",this._menu.classList.contains("dropdown-menu-right")&&(e="top-end")):t.classList.contains("dropright")?e="right-start":t.classList.contains("dropleft")?e="left-start":this._menu.classList.contains("dropdown-menu-right")&&(e="bottom-end"),e},e._detectNavbar=function(){return Boolean(this._element.closest(".navbar"))},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=s({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),s({},t,this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=L(e,"bs.dropdown");if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.dropdownInterface(this,e)}))},t.clearMenus=function(e){if(!e||2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(var n=nt.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var s=t.getParentFromElement(n[i]),r=L(n[i],"bs.dropdown"),a={relatedTarget:n[i]};if(e&&"click"===e.type&&(a.clickEvent=e),r){var l=r._menu;if(n[i].classList.contains("show"))if(!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&"Tab"===e.key)&&l.contains(e.target)))if(!V.trigger(s,"hide.bs.dropdown",a).defaultPrevented){var c;if("ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){return V.off(t,"mouseover",null,(function(){}))}));n[i].setAttribute("aria-expanded","false"),r._popper&&r._popper.destroy(),l.classList.remove("show"),n[i].classList.remove("show"),V.trigger(s,"hidden.bs.dropdown",a)}}}},t.getParentFromElement=function(t){return d(t)||t.parentNode},t.dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?"Space"===e.key||"Escape"!==e.key&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key||e.target.closest(".dropdown-menu")):!vt.test(e.key))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!this.classList.contains("disabled"))){var n=t.getParentFromElement(this),i=this.classList.contains("show");if("Escape"===e.key)return(this.matches('[data-toggle="dropdown"]')?this:nt.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void t.clearMenus();if(i&&"Space"!==e.key){var o=nt.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(b);if(o.length){var s=o.indexOf(e.target);"ArrowUp"===e.key&&s>0&&s--,"ArrowDown"===e.key&&s<o.length-1&&s++,o[s=-1===s?0:s].focus()}}else t.clearMenus()}},t.getInstance=function(t){return L(t,"bs.dropdown")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return bt}},{key:"DefaultType",get:function(){return yt}}]),t}();V.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',wt.dataApiKeydownHandler),V.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",wt.dataApiKeydownHandler),V.on(document,"click.bs.dropdown.data-api",wt.clearMenus),V.on(document,"keyup.bs.dropdown.data-api",wt.clearMenus),V.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),wt.dropdownInterface(this,"toggle")})),V.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()}));var Et=E();if(Et){var Tt=Et.fn[_t];Et.fn[_t]=wt.jQueryInterface,Et.fn[_t].Constructor=wt,Et.fn[_t].noConflict=function(){return Et.fn[_t]=Tt,wt.jQueryInterface}}var kt={backdrop:!0,keyboard:!0,focus:!0,show:!0},Lt={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Ct=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=nt.findOne(".modal-dialog",t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,k(t,"bs.modal",this)}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains("fade")&&(this._isTransitioning=!0);var n=V.trigger(this._element,"show.bs.modal",{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),V.on(this._element,"click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),V.on(this._dialog,"mousedown.dismiss.bs.modal",(function(){V.one(e._element,"mouseup.dismiss.bs.modal",(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!V.trigger(this._element,"hide.bs.modal").defaultPrevented){this._isShown=!1;var n=this._element.classList.contains("fade");if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),V.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),V.off(this._element,"click.dismiss.bs.modal"),V.off(this._dialog,"mousedown.dismiss.bs.modal"),n){var i=g(this._element);V.one(this._element,"transitionend",(function(t){return e._hideModal(t)})),_(this._element,i)}else this._hideModal()}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return V.off(t,".bs.modal")})),V.off(document,"focusin.bs.modal"),C(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=s({},kt,t),v("modal",t,Lt),t},e._showElement=function(t){var e=this,n=this._element.classList.contains("fade"),i=nt.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),n&&w(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,V.trigger(e._element,"shown.bs.modal",{relatedTarget:t})};if(n){var s=g(this._dialog);V.one(this._dialog,"transitionend",o),_(this._dialog,s)}else o()},e._enforceFocus=function(){var t=this;V.off(document,"focusin.bs.modal"),V.on(document,"focusin.bs.modal",(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?V.on(this._element,"keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&"Escape"===e.key?(e.preventDefault(),t.hide()):t._config.keyboard||"Escape"!==e.key||t._triggerBackdropTransition()})):V.off(this._element,"keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?V.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):V.off(window,"resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove("modal-open"),t._resetAdjustments(),t._resetScrollbar(),V.trigger(t._element,"hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},e._showBackdrop=function(t){var e=this,n=this._element.classList.contains("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),V.on(this._element,"click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&w(this._backdrop),this._backdrop.classList.add("show"),!n)return void t();var i=g(this._backdrop);V.one(this._backdrop,"transitionend",t),_(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove("show");var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains("fade")){var s=g(this._backdrop);V.one(this._backdrop,"transitionend",o),_(this._backdrop,s)}else o()}else t()},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(V.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;var e=this._element.scrollHeight>document.documentElement.clientHeight;e||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var n=g(this._dialog);V.off(this._element,"transitionend"),V.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static"),e||(V.one(t._element,"transitionend",(function(){t._element.style.overflowY=""})),_(t._element,n))})),_(this._element,n),this._element.focus()}else this.hide()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){nt.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];et.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),nt.find(".sticky-top").forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];et.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];et.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add("modal-open")},e._resetScrollbar=function(){nt.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(t){var e=et.getDataAttribute(t,"padding-right");void 0!==e&&(et.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),nt.find(".sticky-top").forEach((function(t){var e=et.getDataAttribute(t,"margin-right");void 0!==e&&(et.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=et.getDataAttribute(document.body,"padding-right");void 0===t?document.body.style.paddingRight="":(et.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each((function(){var i=L(this,"bs.modal"),o=s({},kt,et.getDataAttributes(this),"object"==typeof e&&e?e:{});if(i||(i=new t(this,o)),"string"==typeof e){if(void 0===i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else o.show&&i.show(n)}))},t.getInstance=function(t){return L(t,"bs.modal")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return kt}}]),t}();V.on(document,"click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e=this,n=d(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),V.one(n,"show.bs.modal",(function(t){t.defaultPrevented||V.one(n,"hidden.bs.modal",(function(){b(e)&&e.focus()}))}));var i=L(n,"bs.modal");if(!i){var o=s({},et.getDataAttributes(n),et.getDataAttributes(this));i=new Ct(n,o)}i.show(this)}));var At=E();if(At){var St=At.fn.modal;At.fn.modal=Ct.jQueryInterface,At.fn.modal.Constructor=Ct,At.fn.modal.noConflict=function(){return At.fn.modal=St,Ct.jQueryInterface}}var Dt=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],It=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,Ot=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Nt={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],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:[]};function jt(t,e,n){var i;if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var o=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(e),r=(i=[]).concat.apply(i,o.body.querySelectorAll("*")),a=function(t,n){var i,o=r[t],a=o.nodeName.toLowerCase();if(-1===s.indexOf(a))return o.parentNode.removeChild(o),"continue";var l=(i=[]).concat.apply(i,o.attributes),c=[].concat(e["*"]||[],e[a]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===Dt.indexOf(n)||Boolean(t.nodeValue.match(It)||t.nodeValue.match(Ot));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,s=i.length;o<s;o++)if(n.match(i[o]))return!0;return!1})(t,c)||o.removeAttribute(t.nodeName)}))},l=0,c=r.length;l<c;l++)a(l);return o.body.innerHTML}var xt="tooltip",Pt=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Rt=["sanitize","allowList","sanitizeFn"],Ht={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object)"},Bt={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Mt={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,allowList:Nt,popperConfig:null},Qt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Ut=function(){function t(t,e){if(void 0===n.default)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),k(t,this.constructor.DATA_KEY,this)}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=L(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),k(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),C(this.element,this.constructor.DATA_KEY),V.off(this.element,this.constructor.EVENT_KEY),V.off(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=V.trigger(this.element,this.constructor.Event.SHOW),i=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),o=null===i?this.element.ownerDocument.documentElement.contains(this.element):i.contains(this.element);if(e.defaultPrevented||!o)return;var s=this.getTipElement(),r=u(this.constructor.NAME);s.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&s.classList.add("fade");var a="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);var c,h=this._getContainer();if(k(s,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||h.appendChild(s),V.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new n.default(this.element,s,this._getPopperConfig(l)),s.classList.add("show"),"ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){V.on(t,"mouseover",(function(){}))}));var f=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,V.trigger(t.element,t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(this.tip.classList.contains("fade")){var d=g(this.tip);V.one(this.tip,"transitionend",f),_(this.tip,d)}else f()}},e.hide=function(){var t=this;if(this._popper){var e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),V.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!V.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return V.off(t,"mouseover",y)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=g(e);V.one(e,"transitionend",n),_(e,o)}else n();this._hoverState=""}}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(nt.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},e.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&m(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=jt(e,this.config.allowList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return s({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=s({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:m(this.config.container)?this.config.container:nt.findOne(this.config.container)},e._getAttachment=function(t){return Bt[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)V.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;V.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),V.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},V.on(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=s({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),k(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),k(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=et.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==Rt.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=s({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),v(xt,t,this.constructor.DefaultType),t.sanitize&&(t.template=jt(t.template,t.allowList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Pt);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return L(t,"bs.tooltip")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return Mt}},{key:"NAME",get:function(){return xt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Qt}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Ht}}]),t}(),Ft=E();if(Ft){var Wt=Ft.fn[xt];Ft.fn[xt]=Ut.jQueryInterface,Ft.fn[xt].Constructor=Ut,Ft.fn[xt].noConflict=function(){return Ft.fn[xt]=Wt,Ut.jQueryInterface}}var Kt="popover",Vt=new RegExp("(^|\\s)bs-popover\\S+","g"),qt=s({},Ut.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),zt=s({},Ut.DefaultType,{content:"(string|element|function)"}),Xt={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Yt=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var s=i.prototype;return s.isWithContent=function(){return this.getTitle()||this._getContent()},s.setContent=function(){var t=this.getTipElement();this.setElementContent(nt.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(nt.findOne(".popover-body",t),e),t.classList.remove("fade","show")},s._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},s._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},s._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Vt);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},i.jQueryInterface=function(t){return this.each((function(){var e=L(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),k(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},i.getInstance=function(t){return L(t,"bs.popover")},o(i,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return qt}},{key:"NAME",get:function(){return Kt}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Xt}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return zt}}]),i}(Ut),$t=E();if($t){var Gt=$t.fn[Kt];$t.fn[Kt]=Yt.jQueryInterface,$t.fn[Kt].Constructor=Yt,$t.fn[Kt].noConflict=function(){return $t.fn[Kt]=Gt,Yt.jQueryInterface}}var Zt="scrollspy",Jt={offset:10,method:"auto",target:""},te={offset:"number",method:"string",target:"(string|element)"},ee=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link, "+this._config.target+" .list-group-item, "+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,V.on(this._scrollElement,"scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process(),k(t,"bs.scrollspy",this)}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),nt.find(this._selector).map((function(t){var e=f(t),o=e?nt.findOne(e):null;if(o){var s=o.getBoundingClientRect();if(s.width||s.height)return[et[n](o).top+i,e]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){C(this._element,"bs.scrollspy"),V.off(this._scrollElement,".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=s({},Jt,"object"==typeof t&&t?t:{})).target&&m(t.target)){var e=t.target.id;e||(e=u(Zt),t.target.id=e),t.target="#"+e}return v(Zt,t,te),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=nt.findOne(e.join(","));n.classList.contains("dropdown-item")?(nt.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),nt.parents(n,".nav, .list-group").forEach((function(t){nt.prev(t,".nav-link, .list-group-item").forEach((function(t){return t.classList.add("active")})),nt.prev(t,".nav-item").forEach((function(t){nt.children(t,".nav-link").forEach((function(t){return t.classList.add("active")}))}))}))),V.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})},e._clear=function(){nt.find(this._selector).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return L(t,"bs.scrollspy")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"Default",get:function(){return Jt}}]),t}();V.on(window,"load.bs.scrollspy.data-api",(function(){nt.find('[data-spy="scroll"]').forEach((function(t){return new ee(t,et.getDataAttributes(t))}))}));var ne=E();if(ne){var ie=ne.fn[Zt];ne.fn[Zt]=ee.jQueryInterface,ne.fn[Zt].Constructor=ee,ne.fn[Zt].noConflict=function(){return ne.fn[Zt]=ie,ee.jQueryInterface}}var oe=function(){function t(t){this._element=t,k(this._element,"bs.tab",this)}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active")||this._element.classList.contains("disabled"))){var e,n=d(this._element),i=this._element.closest(".nav, .list-group");if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?":scope > li > .active":".active";e=(e=nt.find(o,i))[e.length-1]}var s=null;if(e&&(s=V.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(V.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==s&&s.defaultPrevented)){this._activate(this._element,i);var r=function(){V.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),V.trigger(t._element,"shown.bs.tab",{relatedTarget:e})};n?this._activate(n,n.parentNode,r):r()}}},e.dispose=function(){C(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?nt.children(e,".active"):nt.find(":scope > li > .active",e))[0],s=n&&o&&o.classList.contains("fade"),r=function(){return i._transitionComplete(t,o,n)};if(o&&s){var a=g(o);o.classList.remove("show"),V.one(o,"transitionend",r),_(o,a)}else r()},e._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=nt.findOne(":scope > .dropdown-menu .active",e.parentNode);i&&i.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),w(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(t.closest(".dropdown")&&nt.find(".dropdown-toggle").forEach((function(t){return t.classList.add("active")})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.tab")||new t(this);if("string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return L(t,"bs.tab")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}}]),t}();V.on(document,"click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),(L(this,"bs.tab")||new oe(this)).show()}));var se=E();if(se){var re=se.fn.tab;se.fn.tab=oe.jQueryInterface,se.fn.tab.Constructor=oe,se.fn.tab.noConflict=function(){return se.fn.tab=re,oe.jQueryInterface}}var ae={animation:"boolean",autohide:"boolean",delay:"number"},le={animation:!0,autohide:!0,delay:5e3},ce=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),k(t,"bs.toast",this)}var e=t.prototype;return e.show=function(){var t=this;if(!V.trigger(this._element,"show.bs.toast").defaultPrevented){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),V.trigger(t._element,"shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),w(this._element),this._element.classList.add("showing"),this._config.animation){var n=g(this._element);V.one(this._element,"transitionend",e),_(this._element,n)}else e()}},e.hide=function(){var t=this;if(this._element.classList.contains("show")&&!V.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),V.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=g(this._element);V.one(this._element,"transitionend",e),_(this._element,n)}else e()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),V.off(this._element,"click.dismiss.bs.toast"),C(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=s({},le,et.getDataAttributes(this._element),"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;V.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.toast");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return L(t,"bs.toast")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha2"}},{key:"DefaultType",get:function(){return ae}},{key:"Default",get:function(){return le}}]),t}(),ue=E();if(ue){var he=ue.fn.toast;ue.fn.toast=ce.jQueryInterface,ue.fn.toast.Constructor=ce,ue.fn.toast.noConflict=function(){return ue.fn.toast=he,ce.jQueryInterface}}return{Alert:z,Button:$,Carousel:lt,Collapse:gt,Dropdown:wt,Modal:Ct,Popover:Yt,ScrollSpy:ee,Tab:oe,Toast:ce,Tooltip:Ut}}));
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("popper.js")):"function"==typeof define&&define.amd?define(["popper.js"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var n=e(t);function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function s(){return(s=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}var r,a,l=function(t){do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},c=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},u=function(t){var e=c(t);return e&&document.querySelector(e)?e:null},h=function(t){var e=c(t);return e?document.querySelector(e):null},f=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),s=parseFloat(i);return o||s?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},d=function(t){t.dispatchEvent(new Event("transitionend"))},g=function(t){return(t[0]||t).nodeType},p=function(t,e){var n=!1,i=e+5;t.addEventListener("transitionend",(function e(){n=!0,t.removeEventListener("transitionend",e)})),setTimeout((function(){n||d(t)}),i)},m=function(t,e,n){Object.keys(n).forEach((function(i){var o,s=n[i],r=e[i],a=r&&g(r)?"element":null==(o=r)?""+o:{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+s+'".')}))},_=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},v=function(){return function(){}},b=function(t){return t.offsetHeight},y=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},w=function(t){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t):t()},E=(r={},a=1,{set:function(t,e,n){void 0===t.bsKey&&(t.bsKey={key:e,id:a},a++),r[t.bsKey.id]=n},get:function(t,e){if(!t||void 0===t.bsKey)return null;var n=t.bsKey;return n.key===e?r[n.id]:null},delete:function(t,e){if(void 0!==t.bsKey){var n=t.bsKey;n.key===e&&(delete r[n.id],delete t.bsKey)}}}),T=function(t,e,n){E.set(t,e,n)},k=function(t,e){return E.get(t,e)},L=function(t,e){E.delete(t,e)},C=/[^.]*(?=\..*)\.|.*/,A=/\..*/,S=/::\d+$/,D={},I=1,O={mouseenter:"mouseover",mouseleave:"mouseout"},N=["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 j(t,e){return e&&e+"::"+I++||t.uidEvent||I++}function x(t){var e=j(t);return t.uidEvent=e,D[e]=D[e]||{},D[e]}function P(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,s=i.length;o<s;o++){var r=t[i[o]];if(r.originalHandler===e&&r.delegationSelector===n)return r}return null}function R(t,e,n){var i="string"==typeof e,o=i?n:e,s=t.replace(A,""),r=O[s];return r&&(s=r),N.indexOf(s)>-1||(s=t),[i,o,s]}function H(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var s=R(e,n,i),r=s[0],a=s[1],l=s[2],c=x(t),u=c[l]||(c[l]={}),h=P(u,a,r?n:null);if(h)h.oneOff=h.oneOff&&o;else{var f=j(a,e.replace(C,"")),d=r?function(t,e,n){return function i(o){for(var s=t.querySelectorAll(e),r=o.target;r&&r!==this;r=r.parentNode)for(var a=s.length;a--;)if(s[a]===r)return o.delegateTarget=r,i.oneOff&&B.off(t,o.type,n),n.apply(r,[o]);return null}}(t,n,i):function(t,e){return function n(i){return i.delegateTarget=t,n.oneOff&&B.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=r?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=f,u[f]=d,t.addEventListener(l,d,r)}}}function M(t,e,n,i,o){var s=P(e[n],i,o);s&&(t.removeEventListener(n,s,Boolean(o)),delete e[n][s.uidEvent])}var B={on:function(t,e,n,i){H(t,e,n,i,!1)},one:function(t,e,n,i){H(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=R(e,n,i),s=o[0],r=o[1],a=o[2],l=a!==e,c=x(t),u="."===e.charAt(0);if(void 0===r){u&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(s){if(s.indexOf(i)>-1){var r=o[s];M(t,e,n,r.originalHandler,r.delegationSelector)}}))}(t,c,n,e.slice(1))}));var h=c[a]||{};Object.keys(h).forEach((function(n){var i=n.replace(S,"");if(!l||e.indexOf(i)>-1){var o=h[n];M(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;M(t,c,a,r,s?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=y(),s=e.replace(A,""),r=e!==s,a=N.indexOf(s)>-1,l=!0,c=!0,u=!1,h=null;return r&&o&&(i=o.Event(e,n),o(t).trigger(i),l=!i.isPropagationStopped(),c=!i.isImmediatePropagationStopped(),u=i.isDefaultPrevented()),a?(h=document.createEvent("HTMLEvents")).initEvent(s,l,!0):h=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(t){Object.defineProperty(h,t,{get:function(){return n[t]}})})),u&&h.preventDefault(),c&&t.dispatchEvent(h),h.defaultPrevented&&void 0!==i&&i.preventDefault(),h}},Q="alert",U=function(){function t(t){this._element=t,this._element&&T(t,"bs.alert",this)}var e=t.prototype;return e.close=function(t){var e=t?this._getRootElement(t):this._element,n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},e.dispose=function(){L(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){return h(t)||t.closest(".alert")},e._triggerCloseEvent=function(t){return B.trigger(t,"close.bs.alert")},e._removeElement=function(t){var e=this;if(t.classList.remove("show"),t.classList.contains("fade")){var n=f(t);B.one(t,"transitionend",(function(){return e._destroyElement(t)})),p(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),B.trigger(t,"closed.bs.alert")},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.alert");n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return k(t,"bs.alert")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}}]),t}();B.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',U.handleDismiss(new U)),w((function(){var t=y();if(t){var e=t.fn[Q];t.fn[Q]=U.jQueryInterface,t.fn[Q].Constructor=U,t.fn[Q].noConflict=function(){return t.fn[Q]=e,U.jQueryInterface}}}));var F=function(){function t(t){this._element=t,T(t,"bs.button",this)}var e=t.prototype;return e.toggle=function(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))},e.dispose=function(){L(this._element,"bs.button"),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.button");n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return k(t,"bs.button")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}}]),t}();function W(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function K(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}B.on(document,"click.bs.button.data-api",'[data-toggle="button"]',(function(t){t.preventDefault();var e=t.target.closest('[data-toggle="button"]'),n=k(e,"bs.button");n||(n=new F(e)),n.toggle()})),w((function(){var t=y();if(t){var e=t.fn.button;t.fn.button=F.jQueryInterface,t.fn.button.Constructor=F,t.fn.button.noConflict=function(){return t.fn.button=e,F.jQueryInterface}}}));var V={setDataAttribute:function(t,e,n){t.setAttribute("data-"+K(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+K(e))},getDataAttributes:function(t){if(!t)return{};var e=s({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=W(e[t])})),e},getDataAttribute:function(t,e){return W(t.getAttribute("data-"+K(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}}},z={matches:function(t,e){return t.matches(e)},find:function(t,e){var n;return void 0===e&&(e=document.documentElement),(n=[]).concat.apply(n,Element.prototype.querySelectorAll.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),Element.prototype.querySelector.call(e,t)},children:function(t,e){var n,i=(n=[]).concat.apply(n,t.children);return i.filter((function(t){return t.matches(e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},prev:function(t,e){for(var n=t.previousElementSibling;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next:function(t,e){for(var n=t.nextElementSibling;n;){if(this.matches(n,e))return[n];n=n.nextElementSibling}return[]}},X="carousel",Y=".bs.carousel",q={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},$={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},G={TOUCH:"touch",PEN:"pen"},Z=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners(),T(t,"bs.carousel",this)}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){!document.hidden&&_(this._element)&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),z.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(d(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=z.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)B.one(this._element,"slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){B.off(this._element,Y),L(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=s({},q,t),m(X,t,$),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&B.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(B.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),B.on(this._element,"mouseleave.bs.carousel",(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&G[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&G[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};z.find(".carousel-item img",this._element).forEach((function(t){B.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(B.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),B.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(B.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),B.on(this._element,"touchmove.bs.carousel",(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),B.on(this._element,"touchend.bs.carousel",(function(t){return n(t)})))},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.key){case"ArrowLeft":t.preventDefault(),this.prev();break;case"ArrowRight":t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?z.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),s=this._items.length-1;if((i&&0===o||n&&o===s)&&!this._config.wrap)return e;var r=(o+("prev"===t?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(z.findOne(".active.carousel-item",this._element));return B.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=z.find(".active",this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add("active")}},e._updateInterval=function(){var t=this._activeElement||z.findOne(".active.carousel-item",this._element);if(t){var e=parseInt(t.getAttribute("data-interval"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}},e._slide=function(t,e){var n,i,o,s=this,r=z.findOne(".active.carousel-item",this._element),a=this._getItemIndex(r),l=e||r&&this._getItemByDirection(t,r),c=this._getItemIndex(l),u=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",o="left"):(n="carousel-item-right",i="carousel-item-prev",o="right"),l&&l.classList.contains("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&r&&l){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(l),this._activeElement=l,this._element.classList.contains("slide")){l.classList.add(i),b(l),r.classList.add(n),l.classList.add(n);var h=f(r);B.one(r,"transitionend",(function(){l.classList.remove(n,i),l.classList.add("active"),r.classList.remove("active",i,n),s._isSliding=!1,setTimeout((function(){B.trigger(s._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c})}),0)})),p(r,h)}else r.classList.remove("active"),l.classList.add("active"),this._isSliding=!1,B.trigger(this._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c});u&&this.cycle()}},t.carouselInterface=function(e,n){var i=k(e,"bs.carousel"),o=s({},q,V.getDataAttributes(e));"object"==typeof n&&(o=s({},o,n));var r="string"==typeof n?n:o.slide;if(i||(i=new t(e,o)),"number"==typeof n)i.to(n);else if("string"==typeof r){if(void 0===i[r])throw new TypeError('No method named "'+r+'"');i[r]()}else o.interval&&o.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var n=h(this);if(n&&n.classList.contains("carousel")){var i=s({},V.getDataAttributes(n),V.getDataAttributes(this)),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),t.carouselInterface(n,i),o&&k(n,"bs.carousel").to(o),e.preventDefault()}},t.getInstance=function(t){return k(t,"bs.carousel")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return q}}]),t}();B.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",Z.dataApiClickHandler),B.on(window,"load.bs.carousel.data-api",(function(){for(var t=z.find('[data-ride="carousel"]'),e=0,n=t.length;e<n;e++)Z.carouselInterface(t[e],k(t[e],"bs.carousel"))})),w((function(){var t=y();if(t){var e=t.fn[X];t.fn[X]=Z.jQueryInterface,t.fn[X].Constructor=Z,t.fn[X].noConflict=function(){return t.fn[X]=e,Z.jQueryInterface}}}));var J="collapse",tt={toggle:!0,parent:""},et={toggle:"boolean",parent:"(string|element)"},nt=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=z.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]');for(var n=z.find('[data-toggle="collapse"]'),i=0,o=n.length;i<o;i++){var s=n[i],r=u(s),a=z.find(r).filter((function(e){return e===t}));null!==r&&a.length&&(this._selector=r,this._triggerArray.push(s))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),T(t,"bs.collapse",this)}var e=t.prototype;return e.toggle=function(){this._element.classList.contains("show")?this.hide():this.show()},e.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains("show")){var n,i;this._parent&&0===(n=z.find(".show, .collapsing",this._parent).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains("collapse")}))).length&&(n=null);var o=z.findOne(this._selector);if(n){var s=n.filter((function(t){return o!==t}));if((i=s[0]?k(s[0],"bs.collapse"):null)&&i._isTransitioning)return}if(!B.trigger(this._element,"show.bs.collapse").defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||T(e,"bs.collapse",null)}));var r=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[r]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(r[0].toUpperCase()+r.slice(1)),l=f(this._element);B.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse","show"),e._element.style[r]="",e.setTransitioning(!1),B.trigger(e._element,"shown.bs.collapse")})),p(this._element,l),this._element.style[r]=this._element[a]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains("show")&&!B.trigger(this._element,"hide.bs.collapse").defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",b(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],s=h(o);s&&!s.classList.contains("show")&&(o.classList.add("collapsed"),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var r=f(this._element);B.one(this._element,"transitionend",(function(){t.setTransitioning(!1),t._element.classList.remove("collapsing"),t._element.classList.add("collapse"),B.trigger(t._element,"hidden.bs.collapse")})),p(this._element,r)}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){L(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=s({},tt,t)).toggle=Boolean(t.toggle),m(J,t,et),t},e._getDimension=function(){return this._element.classList.contains("width")?"width":"height"},e._getParent=function(){var t=this,e=this._config.parent;g(e)?void 0===e.jquery&&void 0===e[0]||(e=e[0]):e=z.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return z.find(n,e).forEach((function(e){var n=h(e);t._addAriaAndCollapsedClass(n,[e])})),e},e._addAriaAndCollapsedClass=function(t,e){if(t&&e.length){var n=t.classList.contains("show");e.forEach((function(t){n?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,n){var i=k(e,"bs.collapse"),o=s({},tt,V.getDataAttributes(e),"object"==typeof n&&n?n:{});if(!i&&o.toggle&&"string"==typeof n&&/show|hide/.test(n)&&(o.toggle=!1),i||(i=new t(e,o)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return k(t,"bs.collapse")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return tt}}]),t}();B.on(document,"click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.target.tagName&&t.preventDefault();var e=V.getDataAttributes(this),n=u(this);z.find(n).forEach((function(t){var n,i=k(t,"bs.collapse");i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,nt.collapseInterface(t,n)}))})),w((function(){var t=y();if(t){var e=t.fn[J];t.fn[J]=nt.jQueryInterface,t.fn[J].Constructor=nt,t.fn[J].noConflict=function(){return t.fn[J]=e,nt.jQueryInterface}}}));var it="dropdown",ot=new RegExp("ArrowUp|ArrowDown|Escape"),st={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},rt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},at=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),T(t,"bs.dropdown",this)}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var e=this._element.classList.contains("show");t.clearMenus(),e||this.show()}},e.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var e=t.getParentFromElement(this._element),i={relatedTarget:this._element};if(!B.trigger(this._element,"show.bs.dropdown",i).defaultPrevented){if(!this._inNavbar){if(void 0===n.default)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=e:g(this._config.reference)&&(o=this._config.reference,void 0!==this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add("position-static"),this._popper=new n.default(o,this._menu,this._getPopperConfig())}var s;if("ontouchstart"in document.documentElement&&!e.closest(".navbar-nav"))(s=[]).concat.apply(s,document.body.children).forEach((function(t){return B.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),B.trigger(e,"shown.bs.dropdown",i)}}},e.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};B.trigger(e,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),B.trigger(e,"hidden.bs.dropdown",n))}},e.dispose=function(){L(this._element,"bs.dropdown"),B.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;B.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=s({},this.constructor.Default,V.getDataAttributes(this._element),t),m(it,t,this.constructor.DefaultType),t},e._getMenuElement=function(){return z.next(this._element,".dropdown-menu")[0]},e._getPlacement=function(){var t=this._element.parentNode,e="bottom-start";return t.classList.contains("dropup")?e=this._menu.classList.contains("dropdown-menu-right")?"top-end":"top-start":t.classList.contains("dropright")?e="right-start":t.classList.contains("dropleft")?e="left-start":this._menu.classList.contains("dropdown-menu-right")&&(e="bottom-end"),e},e._detectNavbar=function(){return Boolean(this._element.closest(".navbar"))},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=s({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),s({},t,this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=k(e,"bs.dropdown");if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.dropdownInterface(this,e)}))},t.clearMenus=function(e){if(!e||2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(var n=z.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var s=t.getParentFromElement(n[i]),r=k(n[i],"bs.dropdown"),a={relatedTarget:n[i]};if(e&&"click"===e.type&&(a.clickEvent=e),r){var l=r._menu;if(n[i].classList.contains("show"))if(!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&"Tab"===e.key)&&l.contains(e.target)))if(!B.trigger(s,"hide.bs.dropdown",a).defaultPrevented){var c;if("ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){return B.off(t,"mouseover",null,(function(){}))}));n[i].setAttribute("aria-expanded","false"),r._popper&&r._popper.destroy(),l.classList.remove("show"),n[i].classList.remove("show"),B.trigger(s,"hidden.bs.dropdown",a)}}}},t.getParentFromElement=function(t){return h(t)||t.parentNode},t.dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?"Space"===e.key||"Escape"!==e.key&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key||e.target.closest(".dropdown-menu")):!ot.test(e.key))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!this.classList.contains("disabled"))){var n=t.getParentFromElement(this),i=this.classList.contains("show");if("Escape"===e.key)return(this.matches('[data-toggle="dropdown"]')?this:z.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void t.clearMenus();if(i&&"Space"!==e.key){var o=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(_);if(o.length){var s=o.indexOf(e.target);"ArrowUp"===e.key&&s>0&&s--,"ArrowDown"===e.key&&s<o.length-1&&s++,o[s=-1===s?0:s].focus()}}else t.clearMenus()}},t.getInstance=function(t){return k(t,"bs.dropdown")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return st}},{key:"DefaultType",get:function(){return rt}}]),t}();B.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',at.dataApiKeydownHandler),B.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",at.dataApiKeydownHandler),B.on(document,"click.bs.dropdown.data-api",at.clearMenus),B.on(document,"keyup.bs.dropdown.data-api",at.clearMenus),B.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),at.dropdownInterface(this,"toggle")})),B.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()})),w((function(){var t=y();if(t){var e=t.fn[it];t.fn[it]=at.jQueryInterface,t.fn[it].Constructor=at,t.fn[it].noConflict=function(){return t.fn[it]=e,at.jQueryInterface}}}));var lt={backdrop:!0,keyboard:!0,focus:!0,show:!0},ct={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},ut=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=z.findOne(".modal-dialog",t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,T(t,"bs.modal",this)}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains("fade")&&(this._isTransitioning=!0);var n=B.trigger(this._element,"show.bs.modal",{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),B.on(this._element,"click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),B.on(this._dialog,"mousedown.dismiss.bs.modal",(function(){B.one(e._element,"mouseup.dismiss.bs.modal",(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!B.trigger(this._element,"hide.bs.modal").defaultPrevented){this._isShown=!1;var n=this._element.classList.contains("fade");if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),B.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),B.off(this._element,"click.dismiss.bs.modal"),B.off(this._dialog,"mousedown.dismiss.bs.modal"),n){var i=f(this._element);B.one(this._element,"transitionend",(function(t){return e._hideModal(t)})),p(this._element,i)}else this._hideModal()}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return B.off(t,".bs.modal")})),B.off(document,"focusin.bs.modal"),L(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=s({},lt,t),m("modal",t,ct),t},e._showElement=function(t){var e=this,n=this._element.classList.contains("fade"),i=z.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),n&&b(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,B.trigger(e._element,"shown.bs.modal",{relatedTarget:t})};if(n){var s=f(this._dialog);B.one(this._dialog,"transitionend",o),p(this._dialog,s)}else o()},e._enforceFocus=function(){var t=this;B.off(document,"focusin.bs.modal"),B.on(document,"focusin.bs.modal",(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?B.on(this._element,"keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&"Escape"===e.key?(e.preventDefault(),t.hide()):t._config.keyboard||"Escape"!==e.key||t._triggerBackdropTransition()})):B.off(this._element,"keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?B.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):B.off(window,"resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove("modal-open"),t._resetAdjustments(),t._resetScrollbar(),B.trigger(t._element,"hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},e._showBackdrop=function(t){var e=this,n=this._element.classList.contains("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),B.on(this._element,"click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&b(this._backdrop),this._backdrop.classList.add("show"),!n)return void t();var i=f(this._backdrop);B.one(this._backdrop,"transitionend",t),p(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove("show");var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains("fade")){var s=f(this._backdrop);B.one(this._backdrop,"transitionend",o),p(this._backdrop,s)}else o()}else t()},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(B.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;var e=this._element.scrollHeight>document.documentElement.clientHeight;e||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var n=f(this._dialog);B.off(this._element,"transitionend"),B.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static"),e||(B.one(t._element,"transitionend",(function(){t._element.style.overflowY=""})),p(t._element,n))})),p(this._element,n),this._element.focus()}else this.hide()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){z.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];V.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),z.find(".sticky-top").forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];V.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];V.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add("modal-open")},e._resetScrollbar=function(){z.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(t){var e=V.getDataAttribute(t,"padding-right");void 0!==e&&(V.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),z.find(".sticky-top").forEach((function(t){var e=V.getDataAttribute(t,"margin-right");void 0!==e&&(V.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=V.getDataAttribute(document.body,"padding-right");void 0===t?document.body.style.paddingRight="":(V.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each((function(){var i=k(this,"bs.modal"),o=s({},lt,V.getDataAttributes(this),"object"==typeof e&&e?e:{});if(i||(i=new t(this,o)),"string"==typeof e){if(void 0===i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else o.show&&i.show(n)}))},t.getInstance=function(t){return k(t,"bs.modal")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return lt}}]),t}();B.on(document,"click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e=this,n=h(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),B.one(n,"show.bs.modal",(function(t){t.defaultPrevented||B.one(n,"hidden.bs.modal",(function(){_(e)&&e.focus()}))}));var i=k(n,"bs.modal");if(!i){var o=s({},V.getDataAttributes(n),V.getDataAttributes(this));i=new ut(n,o)}i.show(this)})),w((function(){var t=y();if(t){var e=t.fn.modal;t.fn.modal=ut.jQueryInterface,t.fn.modal.Constructor=ut,t.fn.modal.noConflict=function(){return t.fn.modal=e,ut.jQueryInterface}}}));var ht=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ft=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,dt=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,gt={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],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:[]};function pt(t,e,n){var i;if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var o=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(e),r=(i=[]).concat.apply(i,o.body.querySelectorAll("*")),a=function(t,n){var i,o=r[t],a=o.nodeName.toLowerCase();if(-1===s.indexOf(a))return o.parentNode.removeChild(o),"continue";var l=(i=[]).concat.apply(i,o.attributes),c=[].concat(e["*"]||[],e[a]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===ht.indexOf(n)||Boolean(t.nodeValue.match(ft)||t.nodeValue.match(dt));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,s=i.length;o<s;o++)if(n.match(i[o]))return!0;return!1})(t,c)||o.removeAttribute(t.nodeName)}))},l=0,c=r.length;l<c;l++)a(l);return o.body.innerHTML}var mt="tooltip",_t=new RegExp("(^|\\s)bs-tooltip\\S+","g"),vt=["sanitize","allowList","sanitizeFn"],bt={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object)"},yt={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},wt={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,allowList:gt,popperConfig:null},Et={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Tt=function(){function t(t,e){if(void 0===n.default)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),T(t,this.constructor.DATA_KEY,this)}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=k(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),L(this.element,this.constructor.DATA_KEY),B.off(this.element,this.constructor.EVENT_KEY),B.off(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=B.trigger(this.element,this.constructor.Event.SHOW),i=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),o=null===i?this.element.ownerDocument.documentElement.contains(this.element):i.contains(this.element);if(e.defaultPrevented||!o)return;var s=this.getTipElement(),r=l(this.constructor.NAME);s.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&s.classList.add("fade");var a="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,c=this._getAttachment(a);this._addAttachmentClass(c);var u,h=this._getContainer();if(T(s,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||h.appendChild(s),B.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new n.default(this.element,s,this._getPopperConfig(c)),s.classList.add("show"),"ontouchstart"in document.documentElement)(u=[]).concat.apply(u,document.body.children).forEach((function(t){B.on(t,"mouseover",(function(){}))}));var d=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,B.trigger(t.element,t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(this.tip.classList.contains("fade")){var g=f(this.tip);B.one(this.tip,"transitionend",d),p(this.tip,g)}else d()}},e.hide=function(){var t=this;if(this._popper){var e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),B.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!B.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return B.off(t,"mouseover",v)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=f(e);B.one(e,"transitionend",n),p(e,o)}else n();this._hoverState=""}}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(z.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},e.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&g(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=pt(e,this.config.allowList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return s({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=s({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:g(this.config.container)?this.config.container:z.findOne(this.config.container)},e._getAttachment=function(t){return yt[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)B.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;B.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),B.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},B.on(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=s({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||k(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||k(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=V.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==vt.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=s({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),m(mt,t,this.constructor.DefaultType),t.sanitize&&(t.template=pt(t.template,t.allowList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(_t);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return k(t,"bs.tooltip")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return wt}},{key:"NAME",get:function(){return mt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Et}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return bt}}]),t}();w((function(){var t=y();if(t){var e=t.fn[mt];t.fn[mt]=Tt.jQueryInterface,t.fn[mt].Constructor=Tt,t.fn[mt].noConflict=function(){return t.fn[mt]=e,Tt.jQueryInterface}}}));var kt="popover",Lt=new RegExp("(^|\\s)bs-popover\\S+","g"),Ct=s({},Tt.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),At=s({},Tt.DefaultType,{content:"(string|element|function)"}),St={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Dt=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var s=i.prototype;return s.isWithContent=function(){return this.getTitle()||this._getContent()},s.setContent=function(){var t=this.getTipElement();this.setElementContent(z.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(z.findOne(".popover-body",t),e),t.classList.remove("fade","show")},s._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},s._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},s._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Lt);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},i.jQueryInterface=function(t){return this.each((function(){var e=k(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),T(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},i.getInstance=function(t){return k(t,"bs.popover")},o(i,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return Ct}},{key:"NAME",get:function(){return kt}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return St}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return At}}]),i}(Tt);w((function(){var t=y();if(t){var e=t.fn[kt];t.fn[kt]=Dt.jQueryInterface,t.fn[kt].Constructor=Dt,t.fn[kt].noConflict=function(){return t.fn[kt]=e,Dt.jQueryInterface}}}));var It="scrollspy",Ot={offset:10,method:"auto",target:""},Nt={offset:"number",method:"string",target:"(string|element)"},jt=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link, "+this._config.target+" .list-group-item, "+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,B.on(this._scrollElement,"scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process(),T(t,"bs.scrollspy",this)}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),z.find(this._selector).map((function(t){var e=u(t),o=e?z.findOne(e):null;if(o){var s=o.getBoundingClientRect();if(s.width||s.height)return[V[n](o).top+i,e]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){L(this._element,"bs.scrollspy"),B.off(this._scrollElement,".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=s({},Ot,"object"==typeof t&&t?t:{})).target&&g(t.target)){var e=t.target.id;e||(e=l(It),t.target.id=e),t.target="#"+e}return m(It,t,Nt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=z.findOne(e.join(","));n.classList.contains("dropdown-item")?(z.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),z.parents(n,".nav, .list-group").forEach((function(t){z.prev(t,".nav-link, .list-group-item").forEach((function(t){return t.classList.add("active")})),z.prev(t,".nav-item").forEach((function(t){z.children(t,".nav-link").forEach((function(t){return t.classList.add("active")}))}))}))),B.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})},e._clear=function(){z.find(this._selector).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return k(t,"bs.scrollspy")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"Default",get:function(){return Ot}}]),t}();B.on(window,"load.bs.scrollspy.data-api",(function(){z.find('[data-spy="scroll"]').forEach((function(t){return new jt(t,V.getDataAttributes(t))}))})),w((function(){var t=y();if(t){var e=t.fn[It];t.fn[It]=jt.jQueryInterface,t.fn[It].Constructor=jt,t.fn[It].noConflict=function(){return t.fn[It]=e,jt.jQueryInterface}}}));var xt=function(){function t(t){this._element=t,T(this._element,"bs.tab",this)}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active")||this._element.classList.contains("disabled"))){var e,n=h(this._element),i=this._element.closest(".nav, .list-group");if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?":scope > li > .active":".active";e=(e=z.find(o,i))[e.length-1]}var s=null;if(e&&(s=B.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(B.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==s&&s.defaultPrevented)){this._activate(this._element,i);var r=function(){B.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),B.trigger(t._element,"shown.bs.tab",{relatedTarget:e})};n?this._activate(n,n.parentNode,r):r()}}},e.dispose=function(){L(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?z.children(e,".active"):z.find(":scope > li > .active",e))[0],s=n&&o&&o.classList.contains("fade"),r=function(){return i._transitionComplete(t,o,n)};if(o&&s){var a=f(o);o.classList.remove("show"),B.one(o,"transitionend",r),p(o,a)}else r()},e._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=z.findOne(":scope > .dropdown-menu .active",e.parentNode);i&&i.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),b(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(t.closest(".dropdown")&&z.find(".dropdown-toggle").forEach((function(t){return t.classList.add("active")})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.tab")||new t(this);if("string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return k(t,"bs.tab")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}}]),t}();B.on(document,"click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),(k(this,"bs.tab")||new xt(this)).show()})),w((function(){var t=y();if(t){var e=t.fn.tab;t.fn.tab=xt.jQueryInterface,t.fn.tab.Constructor=xt,t.fn.tab.noConflict=function(){return t.fn.tab=e,xt.jQueryInterface}}}));var Pt={animation:"boolean",autohide:"boolean",delay:"number"},Rt={animation:!0,autohide:!0,delay:5e3},Ht=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),T(t,"bs.toast",this)}var e=t.prototype;return e.show=function(){var t=this;if(!B.trigger(this._element,"show.bs.toast").defaultPrevented){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),B.trigger(t._element,"shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),b(this._element),this._element.classList.add("showing"),this._config.animation){var n=f(this._element);B.one(this._element,"transitionend",e),p(this._element,n)}else e()}},e.hide=function(){var t=this;if(this._element.classList.contains("show")&&!B.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),B.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=f(this._element);B.one(this._element,"transitionend",e),p(this._element,n)}else e()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),B.off(this._element,"click.dismiss.bs.toast"),L(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=s({},Rt,V.getDataAttributes(this._element),"object"==typeof t&&t?t:{}),m("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;B.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.toast");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return k(t,"bs.toast")},o(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha3"}},{key:"DefaultType",get:function(){return Pt}},{key:"Default",get:function(){return Rt}}]),t}();return w((function(){var t=y();if(t){var e=t.fn.toast;t.fn.toast=Ht.jQueryInterface,t.fn.toast.Constructor=Ht,t.fn.toast.noConflict=function(){return t.fn.toast=e,Ht.jQueryInterface}}})),{Alert:U,Button:F,Carousel:Z,Collapse:nt,Dropdown:at,Modal:ut,Popover:Dt,ScrollSpy:jt,Tab:xt,Toast:Ht,Tooltip:Tt}}));
//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file
diff --git a/dist/js/bootstrap.min.js.map b/dist/js/bootstrap.min.js.map
index 3a68866074..847551c067 100644
--- a/dist/js/bootstrap.min.js.map
+++ b/dist/js/bootstrap.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","element","getUID","prefix","Math","floor","random","document","getElementById","getSelector","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","bsKey","get","keyProperties","delete","Data","instance","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","_","this","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","delegateTarget","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","jQueryEvent","isNative","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NAME","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","_this","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Button","toggle","setAttribute","button","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_extends","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","add","SelectorEngine","_ref","documentElement","concat","findFn","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","Collapse","_isTransitioning","_triggerArray","SELECTOR_DATA_TOGGLE","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","REGEXP_KEYDOWN","ARROW_UP_KEY","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","focus","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","_this9","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultAllowlist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","_loop","el","elName","nodeName","attributeList","allowedAttributes","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","DATA_KEY","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","SELECTOR_NAV_LINKS","navItem","node","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast","_clearTimeout"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha2'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha2): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","mapData","set","key","data","bsKey","get","keyProperties","delete","Data","instance","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","querySelectorAll","target","this","delegateTarget","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","jQueryEvent","$","isNative","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","defineProperty","preventDefault","NAME","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","_this","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Button","toggle","setAttribute","normalizeData","val","Number","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","_extends","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","SelectorEngine","matches","find","_ref","documentElement","concat","Element","prototype","findOne","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","e","add","move","tagName","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","elementInterval","parseInt","defaultInterval","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","Collapse","_isTransitioning","_triggerArray","SELECTOR_DATA_TOGGLE","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","REGEXP_KEYDOWN","ARROW_UP_KEY","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","focus","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","_this9","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultAllowlist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","_loop","el","elName","nodeName","attributeList","allowedAttributes","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","DATA_KEY","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","SELECTOR_NAV_LINKS","navItem","node","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast","_clearTimeout"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\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 getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return 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 = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nexport {\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.bsKey === 'undefined') {\n element.bsKey = {\n key,\n id\n }\n id++\n }\n\n storeData[element.bsKey.id] = data\n },\n get(element, key) {\n if (!element || typeof element.bsKey === 'undefined') {\n return null\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.bsKey === 'undefined') {\n return\n }\n\n const keyProperties = element.bsKey\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.bsKey\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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}\nconst nativeEvents = [\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n }\n})\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n }\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\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 const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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 next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha3'\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_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_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 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_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\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.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\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 this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\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 setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\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'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\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 if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\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 this.setTransitioning(false)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_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 = `click${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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.key === ARROW_UP_KEY && index > 0) { // Up\n index--\n }\n\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n }\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, TRANSITION_END)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n }\n})\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\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 div: [],\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (allowlistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n }\n})\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n }\n})\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\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_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\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 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${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'\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\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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 this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n }\n})\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file